Introduce directory creation & removal methods

* Introduce ::is_file, ::mkdir, ::recursive_mkdir, ::rmdir,
::mkfile methods on all supported filesystem back-ends.

* Unit tests for these methods have been added.
Update unit test template (comments)
Fix Color4f::Black definition
Introduce Size2i method variants for Renderer, RenderWindow, Image

* Introduce Image::create variant that accepts Size2i argument and
mark original ::create method deprecated.

* Introduce Image::color4i_pixel method; returns a Color4i object.

* Introduce Image::color4i_pixel method variant; accept Point2i
object as its X and Y arguments.

* Introduce Renderer::set_logical_size method variant that uses a
Size2i object for its width and height arguments.

* Introduce RenderWindow::create method variant that accepts
Size2i object argument for its width and height arguments.
Introduce visual unit testing framework

nom::VisualUnitTest automates the setup of any unit test that
utilizes the engine's video & input subsystems; this has been added
to help support comparing reference screen-shots to the current test
run -- our major new feature.

* nom::UnitTest has greatly improved integration with Google Test.

* Introduce MiniHTML serializer interface for HTML test results output.

* Introduce HTMLWriter stubbed interface for integration with Google
Test & nom::VisualUnitTest.

* Add unit tests for all of the new interfacing.
* Add TCLAP third-party dependency for command line parsing within
nom::init_test.

* Introduce RenderWindow::save_png_file method -- variant to
::save_screenshot -- this method does not alter the output
filename string.
* Introduce RenderWindow::valid method; check validity of both the
window and its rendering context.

* Use explicit Color4 constructor only for Color4<float> types.
* Introduce template method overloads of operator +, operator - &
operator << variants for Color4<float>.
* Do not use specialization for Color4::operator* and Color4::operator-.
* Remove Color4::get method.
* Introduce nom::difference_color_blend method.