Map Renderer|Light Grid: Updated LightGrid implementation; addressed limitations

Revised the LightGrid, re-implementing it in C++ with Doomsday 2.0
components. The internal design of this component is mostly unchanged
however.

Noteworthy changes:
* The grid is initialized automatically should it be enabled after
the map has already loaded.
* Significantly reduced memory requirements through the use of a sparse
grid of block references and a special "null-block".
* An instance of LightGrid is now owned by the GameMap rather than a
global "singleton".
Refactor|LightGrid: Renamed source files from r_lgrid.cpp/h to lightgrid.cpp/h