Performance

@ajiraffe @AmbientOSX @kadst43 

I wanted to get this in before tomorrow. The biggest optimization is that we are waiting until the next frame is rendered before we follow the terrain again. This should speed up performance on slower machines.

There's a lot of garbage collection improvements and some general code cleanup in here. I'll continue developing on this branch when it is merged. I intend to go through all of our scripts and reduce the garbage that is generated.

I also added back in the lerp on the camera when switching targets, but not when following targets.