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.
Removed unwanted state variables from HideableComponentWrapper

Removed checks for isVisible and isComponentVisible as they were just
for optimization purpsoe. Since isComponentVisible() was not used
anymore removed the method and state variable as well.

emptyComponent member was not required as it was not being used later
after constructing the HideableComponentWrapper.
Merge pull request #19 from chetankothari/fix-issue2

Support for toggling between horizontal/vertical tab placement
Code cleanup

ran the eclipse formatter and code-cleanup tool.
removed instanceof check as the object is already of the target type.
Merge pull request #21 from chetankothari/code-cleanup

Code cleanup