Update projection matrix on begin.
Merge remote-tracking branch 'origin/master'
Multi line comments in case we every want to support C89.
Don't need a private, empty dispose method.
Configurable memory allocation functions.