Added a simple way to initialize an Entresol with a window and do simple stuff with it.
Merge branch 'master' of github.com:BlackToppStudios/Mezzanine
Itermediary commit for merge
EngineDemo should not crash anymore and most of the features seem to work.
I added some tests To compare the speed of CountedPtr to Raw pointers and std::shared_ptr. In release the time difference between CountPtr with internal counting and a Raw Pointer is a rounding error. Both of the versions of CountedPtr are faster than std::shared_ptr, I suspect because it must ensure thread safety to some degree.

In Debug:
The objects being created all chenage a variable on destruction and have initializing, but otherwise trivial constructors. This is useful only for comparing the speeds of the point constructs on this platform, not for providing objective pointer dereferencing costs.
1 - Creating and Dereferencing a raw pointer 1000000 times with external counting took: 35401 Microseconds
2 - Creating and Dereferencing a CountPtr 1000000 times with external counting took: 92801 Microseconds
3 - Creating and Dereferencing a CountPtr 1000000 times with internal counting took: 55608 Microseconds
4 - Creating and Dereferencing a shared_ptr 1000000 times with external counting took: 121601 Microseconds
5 - Creating, Dereferencing and Copying a raw pointer 1000000 times with external counting took: 36220 Microseconds
6 - Creating, Dereferencing and Copying a CountPtr 1000000 times with external counting took: 106298 Microseconds
7 - Creating, Dereferencing and Copying a CountPtr 1000000 times with internal counting took: 70847 Microseconds
7 - Creating, Dereferencing and Copying a shared_ptr 1000000 times with internal counting took: 153870 Microseconds

In Release (-O3):
The objects being created all chenage a variable on destruction and have initializing, but otherwise trivial constructors. This is useful only for comparing the speeds of the point constructs on this platform, not for providing objective pointer dereferencing costs.
1 - Creating and Dereferencing a raw pointer 1000000 times with external counting took: 32769 Microseconds
2 - Creating and Dereferencing a CountPtr 1000000 times with external counting took: 64083 Microseconds
3 - Creating and Dereferencing a CountPtr 1000000 times with internal counting took: 32281 Microseconds
4 - Creating and Dereferencing a shared_ptr 1000000 times with external counting took: 83035 Microseconds
5 - Creating, Dereferencing and Copying a raw pointer 1000000 times with external counting took: 32363 Microseconds
6 - Creating, Dereferencing and Copying a CountPtr 1000000 times with external counting took: 64947 Microseconds
7 - Creating, Dereferencing and Copying a CountPtr 1000000 times with internal counting took: 32388 Microseconds
7 - Creating, Dereferencing and Copying a shared_ptr 1000000 times with internal counting took: 102435 Microseconds