Added a non blocking PrimitiveBase
When writing any nontrivial skill I always put the computations in a new thread and this adds a lot of boilerplate. With a new primitive skill that takes care of the new thread in the background one can just focus on making the skill rather than worrying about how computationally heavy it is.