Modules in sep jvm

So this isn't completely ready yet as I have yet to figure out if hardware manager is even working with these changes and Im sure the tests are all over the place, BUT its working!  Modules can do whatever the hell they like, even crash their jvm via some crazy JNI invocation (like OpenNI does), and we can still recover from it.  

Please feel free to comment on the changes below and let me know if you have any suggestions, comments or just think the code is crap :)