Refactor modules and tests for Browser window UI

This PR is part of the issue #18 for using ui modules.

@ahal and @chmanchester can you please have a look at this? Lets me know if something looks strange to you.
I think having to type self.browser.tabbar instead of just self.tabbar, is a little wordy, but I don't care all that much.