Support for toggling between horizontal/vertical tab placement

Added support for toggling between horizontal and vertical tab modes.
Currently it supports only left and top tab placements.

The current behaviour is as follows :

* Expands all the tabs when switching from vertical tab placement to
horizontal tab placement.
* Restores the tab hierarchy when switching back to vertical tab
placement.

Updated demo app to demonstrate the switching of tab placement.

Using HideableComponentWrapper

Using a custom JPanel to wrap a component which needs to be hidden but
still occupy the space.
Addressed in [commit](https://github.com/chetankothari/swing-htabs/commit/bc9110ceebd21e6b3f10d258860bd7a994d5eca2)