Added popout functionality for data panels.

This functionality allows a data panel to be popped out into a
separate window and also return it back to its parent window.

Note that this code is still a bit messy and under heavy
development. The basic functionality is in place but all other
panel types must be refactored to conform to the
activities/places paradigm.