Use Result where appropriate and make info logs optional
Make function names more consistent with opengl
Remove unnecessary type annotations
Rename object->shader
Implemented a basic caching system for meshes and programs. Implemented actual attributes matching and binding for draw calls.
Updated deps. Merged with #27