Started tabs restructure: split widgets

Started the tabs restructure by splitting widgets into individual files.
Then I'll work my way up till I reach the base tabs view and swap it for
the existing one.
Fixed widget dependencies and got r.js mostly functional