Made the resource manager threaded.
TODO:
-Ideally the synchronized methods would wait the exact time using
interrupts/signals.
Part of #1
Set OpenGL texture ID to zero after freeing the texture from the VRam.
Fixed a warning in GLTexture.
Made resources manage the isLoaded flag themselves, instead of having
the resource manager manage them.
Separated resources' load and unload methods into common resource code
in [un]load() and custom resource code in [un]loadInternal.
Renamed the binary math file to any general operations not in <math.h>.
Added an input manager that supports checking for keyboard and mouse input. (#5)