add accessors for selected, moused-over hex to class display
display takes a pointer to whiteboard manager

It uses a shared_ptr, to prevent crashes during play_controller
initialization. But it only holds a weak_ptr, to preserve
previous behavior of skipping whiteboard ops when the ptr is
NULL.

It requires also for us to construct the whiteboard before
constructing the gui, so that we have a valid pointer to pass.

Most likely all of the managers will have to be moved forward,
in this commit we move forward the whiteboard and pathfinding
module, anticipating future commits.
purge a useless "report()" function in reports.cpp
refactor reports to take display_context as an argument
remove unnecessary (duplicated) accessors
make whiteboard a shared_pointer in resources

This makes subsequent commit easier, because lua wants to be able
to make reports, and therefore needs a report_context
add reports::context structure, and use it for reports
add tod manager to report::context

This allows to remove all remaining resources:: links from the
reports generator code, and to finish removing several expensive
dependencies from that compilation unit.
add virtual fcns to display, remove refs to game_display in reports

This commit adds virtual functions covering "observers",
"displayed_unit_hex", and "playing_side", in display:: object.
This allows to avoid dynamic casts in the reports.cpp file, and
to eliminate a header. It avoids the possibility of segfault when
using the editor if the reports context isn't set up correctly.
Merge branch 'refactor_reports'