Made plants their own thing, and moved rendering into the buffer
instead of the canvas, which is neat.  Until we do the enemy refactor,
they will be 100% able to move through trees and whatnot.  There shouldn't
be any new memory leaks, as I made no calls to new or delete.  One thing
todo is now to create a PlantType in the defs and expand the plants
to use a vector of tiles instead of a single tile.  Oh, serialization of
plants should also be a thing.