User interface plugins

UI-plugins can implement one out of three different interfaces.

class IPlugin {
	bool CreateView(HWND);	// host calls plugin
}

class IHtmlPlugin : public IPlugin {
	void SetBrowser(IAbstractedBrowser )	// host tells plugin about which browser instance to use, could be ie or firefox or whatever

	OnLoad()								// the host calls callbacks on the plugin for various notifications
	OnKeyDown()
	OnKeyUp()

}

class IGlPlugin : public IPlugin {
	void SetContext(glContext);				// the host has prepared a GLContext for the plugin

	void update();
}


A plugin should be able to control how many tabs he want, there needs to be more than this