Moving some metal/objc type definitions to shared header.
Uniform buffers were not being reset.
Enable depth testing when binding a CCFrameBufferObject.
Fix some issues with setting metal shader state. More shader API for metal.
Add more assertions.
Don’t copy render states if threaded rendering is not enabled.
Implemented [CCShader shaderNamed:] for metal.
Cleaning up some TODO warnings.