restructure, rewrote joint enumeration

i tried to split the project into a basic engine and scenes that rely on
in. i also redid the joint tracking code. every joint now has a number.