Major internal cleanups and reworks...

- int Hex::number removal. Hexes are now identified mostly by their
  Coordinate on map.
- Disentanglement of includes, move towards forward declarations to reduce
  compilation times.
- Removal of graphic layer logic from Grid (now it's GraphicsMap's
  responsibility).
Use QPointF (and similar types) instead of QPoint in graphics layer.
Minor fixes...

- Properly initialize BFS in Grid::getWalkRange() to prevent infinite
  looping.
- Also fix height difference calculation.
- reinterpret_cast Entity & to EffectProne & goes crashy-crashy. static_cast
  is valid and sufficient.
- Fix Position::toString().
Store positions instead of whole BfsState in queue.
Fixed Grid::nextHex and getShootRange functions.