Working towards sprite_component vertices being based on image size since I'm currently aiming for pixel art.

- Added template based vecn::zero.
- Added additional vecn typedefs.
- Removed vecn.cpp as it is no longer needed.
Caching texture dimensions.

- Added conversion functions between vec2/3/4.
- texture(2D)::set_data* now takes the desired texture(2D) as a parameter to allow book keeping.
  May want to reconsider this in the future as this would allow for one texture to be bound
  and another to be passed in. This seems to be a potential weakness of trying to minimally
  wrap the OpenGL way of doing things (globally).
World scale and position now work correctly based on pixels (aiming for pixel art).

- Matrix multiply lhs and rhs were reversed.
Rescaled perf vis for now (still need to make configurable).