Added perf_vis files.
Basic perf vis operational.

- Need to add colors, text labels, customization, different modes (separate vs overlaid).
- Added x, y, z, and w getters to vec2-4 as appropriate.
- Removed printing of profiling information on game exit.
Added colors to perf_vis.

- Added reserve_lines to debug_drawer. Now using this in perf_vis::draw.
Added debug_draw_manager allow separate debug drawing for world vs hud with less code duplication.
Added FindSDL2_ttf.cmake.

- Modified FindSDL2.cmake to use new linux multiarch lib layout (lib/x86_64-linux-gnu vs
  lib/lib64)
Additional texture functionality.

- Added additional GL texture function wrappers.
- Added texture2D class.
- Minor changes to main.
Basic texture loading/display working.

- Moved all existing shaders to 2D folder incase I ever extend LE to 3D.
- Created debug textures folder.
- Removed accidental unneeded explicit use of LE namespace qualification when in LE namespace.
Enabled sRGB framebuffer.

- Added 2 more separaters for logging (each half the size of the previous).
- Modified linear_ramp image to be more useful (can tell top from bottom now).
- sprite_component tex_coords were upside down (at least for loaded images since they'll have
  the top left as the origin with increasing y moving downard - vs OpenGL convention of positive
  y moving upward).
- Separated GLEW init code into graphics_system (which is otherwise currently unused).
- Added printing of SDL_GL_GetAttributes to verify what we actually recieve form the OS.
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).
Added SDL2_ttf files, updated SDL files to 2.0.3.
Fixed resource_dir handling.

- Created skeleton resource_manager that currently only stores the resource directory.
- Textures now use resource_dir.
Minor changes.

- Replaced default template parameter for profiling_point with typedefs for types of timers.
- Corrected typo in perf_vis scaffold drawing.
Working torwards being able to display text in game.

- Added Rambla font files
- Added sprite_text_system which currently only initializes SDL_ttf.
- Changed entity::create_component, now using perfect forwarding so that a default constructor
  is not required for components.
Added placeholder textures for each object currently in the game.
Working toward getting rid of game_hack.

- Need to at least have systems processing spaces and scenes in spaces for perf_vis (to allow
  use of entities for graph labels).
- Added owner pointers to entity and component_base. Still need to actually set them.
Moved resource manager from engine to common.
Working toward proper space integration.

- Starting by moving all logic from game_hack to more proper locations. Then I'll worry about
    fixing the logic.
- Moved drawing from game_hack to graphics_system.
- Working towards transforming game_hack into a scene.
- Added operator<< for vecn.
- Added owner storing and set/getters for component, entity, space, and game_hack_scene.