Move files around and use OAT for the build system (so we can build static libraries)
Fix UTF-8 logic (chars can sometimes be unsigned)
Fix warning on GCC
Fix unused variable warnings
Explicitly call the virtual class's constructor on copy constructor
Compile on Android