TINYGL: glBlendFunc Implementation

This PR expands the functionality of TinyGL by adding support to glBlendFunc.
This function enables the user to implement effects such as alpha blending.
The grim engine was also updated to support the feature (and also to support sprite colorization for partial dimming of sprites)
Please use parenthesises when using ternaries like this.