Unit test + register-based functions

* added gtest library with self compiling version
* modifying VM to use registers