I have the character controller classes working but could be cleaned up a bit. I also made a few changes to get hardware support working and it seems to be fine. Pretty quick and painless but I'm only doing the basic rigid body simulation now. I've added a flag to all the primitives to tell what collision group it belongs to (pushable, non pushable, non collidable).
The SDK was crashing when I released the scene so I removed that for now. However after a few runs the hardware locks up and won't respond so I need to fix this bug properly or it will be a pain to reboot all the time.
I have also removed references to the Newton SDK from the code. PhysX is more powerful, has GPU support, and runs faster so I won't be going back to Newton.