Fixed last remaining known assertion failure with objects motion code
Fixed some rounding issues.
Loads of experimental versions of object motion code...

Making this commit was the first thing I did after recovering from my
   carpal tunnel, in order to make sure I didn't lose anything when I
   started modifying code I hadn't looked at for months. It leaves the
   code in a broken state with lots of abandoned junk lying around.
Brought latest object-motion impl to compilable/runnable state.

It doesn't behave properly yet.
Also, I'm currently getting a segfault whenever I press a key, which I
   doubt is related to the object motion code (I ran memcheck with it,
   and there weren't any problems during motion.)
Merge branch 'master' of https://github.com/idupree/Lasercake into merging_objmotion_with_isaacs
Fixed some bugs with the latest object-motion impl.

It now runs and doesn't crash, and usually doesn't have catastrophic
   failures. The only catastrophic failure mode now is to fall through
   the floor, which is fairly rare.
However, it is glitchy and you can sometimes walk into walls.
I plan to do rewrites again.
Added a comment justifying how I do polyhedron collision detection.

This is the start of doing another rewrite.
Commented out obsolete "sweep" visualizing code
Added a visualizer mode to measure the collision detection

One can use this mode to observe failures of the current system
Rewrote part of the object-motion system again. IT WORKS NOW

The updated system allows overlapping objects; overlapping objects
   collide if they're going to start overlapping *more*, but they can
   move freely if they're moving towards ceasing to overlap.
   This allows us to stop worrying so much about rounding error.
   However, it might allow objects to be shoved on top of each other in
   extreme situations.
We preprocess pairs of polyhedra in n^2 time in the number of vertices,
   then process them in n time. Right now we do the whole preprocessing
   at every collision, which wastes lots of time. There is also lots of
   room for improving the constant factor in many parts of the system.
The next thing to for the object-motion system is to implement the
   "objects that collide too many times in the same frame stick together"
   rule, to remove the exponential slowdown in the case of lots of
   objects stacked up or plowing into each other.
After that, I think the entire thing will be
   O((number of moving objects) log (total number of objects+tiles))
   even with large jumbles of objects, though it'll still have an n^2
   worst case when lots of objects are moving very fast near each other
   until we code a specific solution to that issue.
Fixed a long-standing bug with autobots' floatation.

Before this, they would sometimes get stuck on corners due to gravity
   combined with the fact that they don't levitate when the tile right
   under them is air, even though they're supposed to levitate 1.25 tiles
   up instead of just 1.
I had to adjust the dig-laser locations to accommodate the change, so
   they might not be ideal right now.
removed debug messages
Removed a bunch of the unused, broken attempts at object motion code

There may still be some remnants left; I didn't document them carefully
.gitignored cmake files
GLEW prep: move glViewport into the rest of the GL code.

(We are separating GL and Qt code because the GLEW headers
and the Qt headers apparently don't get along although their
runtimes do.  See e.g. http://old.nabble.com/GLEW-Qt-td22149860.html
.  GLEW seems to be the sane cross-platform way to use even
remotely new OpenGL versions (>= 2.0) - Windows headers only have 1.x.)
Add GLEW as a bundled lib

(Later I will add an option to use system GLEW. This is likely
the easier option for a first pass.)
init Qt fonts at program startup

This gets it out of being mixed into the GL code, and
there was not much reason not to.
(I hope there isn't a performance effect?  Anyway, they're
not inited if the user passes --help or --version, only when
there is actual simulation.)
fix GLEW-building commit
Move GL code (and no Qt code) into gl_rendering.cpp
rename do_render_ -> invoke_render_ (clarity of meaning)