GUI: Add Tab cycling to  TabWidget

Tab and Shift-Tab can now cycle between each Tab of the Edit Game menu.
GUI: Fix tab cycling when total tabs increase.

Tab cycling ignores tab width, and slides correctly for larger tab counts.
GUI: Tab cycling handles multiple themes.

First visible tab moves up when a theme's width cannot fit another tab.
Merge pull request #455 from Zerophase/master

GUI: Add Tab cycling to  TabWidget