Fixed the white square bug and weird issues with `new', made TextureLoader store things better, and generally cleaned things up