Make GC optional, write more documentation, add a todo list, fix crashing from the debug functions when materials were cleaned up unexpectedly
Restore the 2D sample to its former glory