Remove global draw offset

Having a draw offset tracked independently of the camera is just
confusing and unnecessary, as long as all camera matrices are treated in
double precision on the CPU side, with conversion to float for the GPU
only after a geometry-specific offset is applied.
Upgrade tinyformat for printfln()
Fix bug in bounding box draw

Bug introduced two commits ago due to comment typo, causing bounding
boxes to be overdrawn unconditionally.
More graceful handling of large files

* Use 64 bit integer for total point cloud size, and read this from the
  las extended number of points record.  The actual number of points
  loaded remains a size_t.

* Catch the std::bad_alloc which is generated when we try to allocate
  too much memory and issue an error message.  This isn't really a great
  way to handle it, but it's better than crashing.

* Beef up error reporting for files which fail to load
Remove obsolete shader LoD multiplier
Frustum culling and improved draw cost model

Implement frustum culling for point clouds using a new ClipBox class.
Having frustum culling can result in a large variation in the amount of
geometry processed per frame as the user moves the camera.  As a result
this required a big rework of the model draw quality handling.

Included here is an attempt to model the quality as a function of number
of vertices and fragments drawn, plus a constant offset term (the
DrawCostModel class).  This yet work entirely reliably because solving
for the relative cost coefficients between fragments and vertices can be
an poorly conditioned problem - may need to go back to something
simpler.
Move to a more robust and simpler draw cost model

Revert to a simple cost model based purely on the number of point cloud
vertices drawn as a function of quality.  This is much easier to make
robust than a multidimensional cost model, due to difficulties fitting
the parameters of the multidimensional model.

Also included various cleanups to comments etc.
Merge branch 'draw_quality_refactor'
Merge branch 'master' into lod

Fixed several conflicts due to conflicting changes on lod branch and
master to CMakeLists.txt, src/glutil.h, src/mesh.cpp, src/view3d.cpp.
Remove forgotten debug logging
Use ClipBox from trunk for hcloud frustum culling