Tons of Work

I finished almost all of the conversion except for text drawing, however
I have reproduced some methods from the USP library, so I can have more
platform independencies