Cache DrawCommands in BillboardCollection.

Addressed issue #550

This seemed easy enough so I took a stab at it.  I kept it simple so we cache only as many as we need and discard them when we don't.
We could have a separte pool (or a generic ObjectPool) implementation if we want something more sphisticated, but I wasn't sure if the overhead was worth it.

What do you think @pjcozzi ?