Modified the cmake files to be able to compile with Qt5.

Note that there may still be some bugs with Qt4 now.
Fixed syntax error and reverted to Qt4 in build script
Attempts to get the main window to recompile, but failed.
Added theoretical logger (uncompiled, untested, WIP)

The idea here is that the logger is initialised at program startup (the CAutoLogger) and that contexts are set when a method/function is entered (CLogContext). The constructor sets the context via a static member of CAutoLogger (which adds the context to the call stack, and sorts out indentation, etc) and when the context goes out of scope, it removes itself from the CAutoLogger. The programmer thus has ONE call in each method to set the context. I would like to wrap this call in a macro that makes use of C++ preprocessor macros (e.g. __FILE__ and __FUNCTION__) to make this even easier, then the first line of each method can be SETLOGCONTEXT; which would map to CLogContext "logContext(__FUNCTION__);" or similar. This would also allow logging to be disabled at compile time.

One thing to be aware of (and is something that I need to test) is that the stack currently makes use of "const char *"s. This will hopefully make creating the stack faster since only addresses are passed around, until logging occurs, which is expected to be slow anyway. This still needs to be tested.