allow different tools to be opened in the same window

This would allow programming to be done all in the same window, with different tools coexisting and less context-switching on the programmer's part. Probably it would require some refactoring to handle toolbar and menu bar switching.