*	Our next goal is to create the layout for the main window (frame).
*	We add a simple sidebar (just a `wxPanel` for now) on the left of the circuit view.
*	Added further standard parameters to the `CircuitView`'s constructor to be able to set this window's position and size.

PROBLEMS:
*	When there's only one single child window in the frame, its size and position are ignored.
	The window is being stretched to fit the entire client area of the frame and resizes with it.
	But when there's more child windows than one (as in our case), their sizes and positions are not managed any longer.
	Their size and position are being taken from their constructors and they are static.
	We want a fluid layout, so we need to use some better method for managing these child windows.

TODO:
*	Find a better way to manage child windows' sizes and positions automatically.
*	Our next goal is to create the layout for the main window (frame).
*	Switching to a fluid layout employing Sizers.
*	We use a `wxBoxSizer` to lay out child windows in a horizontal row, all stretched to always fit the entire client area.
	We set the sidebar's proportion to 0, which means that it won't use any excess horizontal space (that is, won't stretch beyond its usual size).
	Circuit view, on the other hand, has the proportion set to 1, which means that it will use the entire excess horizontal space and stretch to fit it.
	Both child windows will stretch vertically to fit the client area of the parent window.
*	Then we call `SetSizerAndFit` to tell the frame to use our sizer for layout and update it when resizing,
	and that it should never be resizd to be smaller than the minimal sizes of all its children taken together
	(that is, its client area should always fit to the sizer, so it won't resize any smaller if the sizer is already at its minimal size).

PROBLEMS:
*	Unfortunately, this won't allow the user to resize the sidebar when needed.
	We'll try a better approach with a sizing splitter next time.
*	Our next goal is to create the layout for the main window (frame).
*	Switching to splitters.
*	This time we use a `wxSplitterWindow` to lay out child windows in a horizontal row, all stretched to always fit the entire client area.
	The splitter is a lone child window, so it is stretched to cover the entire client area of the frame.
	But it manages two child windows in a horizontal split view, with the vertical sash between them being able to move left or right.
	It then automatically resizes its child windows.
*	We set the minimal size of the pane to 100 pixels to prevent the sidebar from being too small.
	Unfortunately, this also disallows removing the sidebar entirely by double-clicking on the splitter's sash.
*	Double-clicking to remove one of the panes wouldn't work properly anyway, because it removes its right child window by default.
	We would rather like the left child (the sidebar) to hide.
	Unfortunately there's no obvious way to set up which one of the child windows should disappear when double-clicking the sash.
	We would have to override its `OnUnsplit` or `OnDoubleClickSash` member functions to handle it manually to just hide the sidebar.
	We will try it next time.

TODO:
*	Allow for hiding the sidebar by double-clicking the vertical splitter's sash.
*	Our next goal is to create the basic layout for the main window (frame).
*	Switched to splitters.
*	Added a tabbed notebook in the sidebar (just for testing).
*	Corrected one minor bug in `Circuit.hh` to make it backward-compatible with wxWidgets 2.8.

PROBLEMS:
*	When the sidebar contains a tabbed notebook, the mouse cursor doesn't change when hovering over the splitter's sash.
*	There's some ugly oogaboogah with the grid when compiling against wxWidgets 2.8. It needs fixing.

TODO:
*	Allow for hiding the sidebar by double-clicking the vertical splitter's sash.