COMMON: Rename Timer class to Clock

To better represent its functionality.
COMMON: Create a simple timer/stopwatch class

Useful for naive profiling
ALL: Formatting with AStyle
COMMON: Create a naive event-based profiler
COMMON: Create a function to read in the entire contents of a file

Uses Windows-specific APIs since, profiling showed them to be faster
than C-based FILE or ifstream
COMMON: Create a class for converting a char buffer to an istream<>
COMMON: Let AssertMsg use a dialog box instead of std::err
COMMON: Add basic profiling to LoadFromOBJ

To try to diagnose the slower parts of the algorithm
COMMON: Break out early from deciding which vertex description the line is
COMMON: Remove extraneous 'const' keyword
COMMON: Read the whole file in before processing it
PROJECT: Correct file filters
COMMON: Add a template hashing function for generic tuples
COMMON: Use the tuple of vertex indices as a key instead of the actual vertices

It makes for less comparisons and easier comparisons. (3 uints vs 9 floats)
squash with hash
COMMON: Add a class for handling rectangles
COMMON: Enable SpriteRender to render empty colored rectangles

By specifying a nullptr as a texture view
COMMON: Allow font measuring and rendering to wrap at a maxWidth
COMMON: Move the texture and sampler declarations directly to the shader they're used in
COMMON: Add case handling for tabs and carriage returns