Add widget style whitelists and blacklists.

**Description:**
This branch adds the ability to blacklist or whitelist child widgets, as well as add your widget to the default whitelist or blacklist.

**Adds:**
```javascript
__widgetOps.registerWidget("TYPE", function(){}, [styleWhiteList], [styleBlackList], [childWhiteList/BlackList]);
```
childWhiteList/BlackList Usage:
["*", "!tab"] - Allows all widgets as children except tab.
["*"] - Allows all widgets as children
["tab"] - ONLY allows tab as a child.

The default child wl/bl is:
["*", "!tab", "!menu", "!menuitem"]
Additional items can be added to the default wl/bl using:
```__widgetOps.defaultLegalChildren.push("TAGNAME");```

Also, windows are now loaded in JavaScript and can actually be appended dynamically to any widget, although I would not recommend it.

Removes:
Windows loading in Java.