remove SpriteBatch's line/box rendering methods

These didn't really work consistently across all GPU's unless you
changed the shader when rendering any non-textured primitives. At which
point, I think that some kind of PrimitiveBatch type class would
probably be a better idea for line/box drawing.
SpriteBatch now always grows by a set amount to reduce the number of times it needs to resize it's arrays
no magic numbers!
clean up initialization a bit and use some better default sizing
SpriteBatch now uses an index buffer for the sprites