Adjust VertexBuffer::addBatch to please VC++.

(cherry picked from commit a5a03cc7b77657ad510ccd9eb612b796f761846f)
Reintroduce the hidden line pass to resolve #3799

Has been previously removed in a29b8ee725582665a792388a4ffc433f296c78e0.

(cherry picked from commit e7a9a669bb22f6a374d111f37df5644a44b1dffc)
Merge remote-tracking branch 'codereader/master'

Merged codereader's 2.0.0 changes including the switch to wxWidgets.
Linux build fix
Removed splash screen updates from RadiantModule::postModuleInitialisation

Seems to fix Xlib crash/deadlock at startup on Linux.
Initial migration of ApplicationContextImp to RadiantApp
Merge remote-tracking branch 'codereader/master'

Merge fix for crash on shutdown
Fixed numerous crashes on Linux

- Now using standard wxWidgets initialisation and teardown code: pre-event loop
  initialisation stuff goes in RadiantApp::OnInit, and shutdown code in
  RadiantApp::OnExit. Regular main function is removed and replaced with
  wxIMPLEMENT_APP macro.
- Application shutdown is triggered by calling Close() on the top level window
  (either because the user clicked the close button, or programmatically via
  RadiantModule::exitCmd), which in turn invokes the MainFrame's
  onTopLevelFrameClose handler and the ensuing cleanup code. Nothing
  GUI-related should be dealt with in RadiantApp::OnExit because this is too
  late in the process and wxWidgets structures have already been destroyed.
- Removed splash screen updates from code in RadiantApp::onStartupEvent since
  these were causing intermittent deadlock/crash on Linux and were largely
  invisible anyway.
- Fixed various crashes caused by C++'s bottom-up destruction conflicting with
  wxWidgets' attempt to delete windows in a top-down fashion (e.g. in the
  GroupDialog). Use of wxWindowPtr ensures the wx resources are deleted at the
  same time as the C++ child class.
- ISelectionSetManager uses a sigc::signal rather than the Observer pattern to
  send notifications of changes, which removes the need for an explicit
  removeObserver() call in observing widgets which can crash if the widgets are
  destroyed after the modules have been shut down. This also saves considerable
  code.
Fixed horizontal splitpane constantly moving to the right with each application run

Added a call to wxTheApp->Yield() in EmbeddedLayout::restoreStateFromPath(),
since a delayed window size event was causing the split pane to be repositioned
AFTER the sash position had been restored from the registry.

Also cleaned up PanedPosition, removing unnecessary public members and method
parameters.
Merge pull request #1 from orbweaver/master

Linux fixes