Automatically determine whether unw_backtrace_skip function is present

This function exists in a patched version of libunwind that was
previously shipped with the vogl source.

Instead of requiring the user to specify on the cmake command-line
whether the optimized function is present, here we simply look for
whether the function exists and compile things as appropriate.
Move top-level CMakeLists.txt file to the actual top-level.

It's a bit unorthodox to have to do "cmake src" rather than "cmake .",
(or similarly, within a build directory, to have to do "cmake ../src"
rather than "cmake .."). So move this file to the top level to support
the more orthodox form.

Additionally, the presence of the top-level CMakeLists.txt file
clearly advertises that this project is using cmake, so the alert
reader can easily guess how to build things.
More changes for Unreal Engine 4 GL4 compatibility. With this change UE4 can be traced/replayed in full-stream mode in both GL3 and GL4 mode, and snapshot/restore works in both modes too (with some query issues I'm still looking at).

- Adding glDispatchCompute, glDispatchComputeIndirect, glBindImageTexture, glCopyImageSubData to replayer whitelist
- Texture snapshot/restore code supports cubemap arrays now, but these paths are not really tested yet
- Adding voglreplay new command line param and replayer object flag to disable front buffer restoring (I may make this the default): --disable_frontbuffer_restore
- Generic state snapshot/restore code now supports GL4 image unit bindings
Vogl_chroot changes
 - CMAKE_SOURCE_DIR --> SRC_DIR
 - libbacktrace -> libbacktracevogl
 - Search for libjpegturbo.so
Updated readme
Update README.md
UI: Clear context combo box if the currently selected api call does not have an associated snapshot
* Also protect against NULL access of current snapshot
UI: Delete placeholder for timeline to prevent small box from appearing in the top left corner of the timeline
* In order to show the layout properly in the QtCreator Design editor, a placeholder QGraphicsView is used instead of the timeline. The objects are swapped when vogleditor starts, but simply removing the placeholder from the layout does not remove the parent, and so it was still being drawn. Deleting the placeholder after removing it fixes the issue.
vogleditor: replace #include with class forward

(minor) Issue:
A bit of code cleanup.

While browsing through the code noticed a header file was unnecessarily
including another header file when class forwarding would suffice. Ended
up going through the rest of the files in the vogleditor module and
doing similar cleanup. In general within a header file, change the
"#include" class files to declared class types and move the "#include"
declarations to its source file (when possible).

Testing:
Minimal (no test suite yet); successfully built and ran vogleditor64
(with glxspheres64.bin)

Timing tests for building shows no real improvement at this point

* vogleditor directory build (after toplevel make clean)

    master branch        class-forwards branch
    -------------        ---------------------
    real  0m25.742s      0m25.705s
    user  0m22.880s      0m22.616s
    sys   0m0.884s       0m1.096s

* vogleditor directory build (after vogleditor make clean)

    master branch        class-forwards branch
    -------------        ---------------------
    real  0m3.916s       0m3.887s
    user  0m2.872s       0m2.820s
    sys   0m0.384s       0m0.384s

Signed-off-by: Lawrence L Love <lawrencex.l.love@intel.com>
(cherry picked from commit 3cfd2ac5d8ef06ae6cfa5a1d92ad118df53712d5)
Assume Unwind_Backtrace exists
Condense voglgen build output down a bit.
Add GCC diagnostic warning macros
Ignore VoglProj.cbp file
Add vogl chroot files if they exist
Only spew gen messages when verbose is specified
Big clang 3.4 warning cleanup
UI: Texture Viewer now supports CubeMaps, which are drawn as a cube cross
Merge branch 'master' of https://github.com/ValveSoftware/vogl
gcc 4.8 warning cleanup
Switch to using OpenGL package to kill FindGLU cmake warning