Decouple basewidth

MenuView no longer relies on `GC.app.baseWidth` and `GC.app.baseHeight` in order to size menus. The old mechanism is supported, but two new mechanisms are added. The three mechanisms are listed below in priority order.

First, explicit bounds can be supplied via the `baseWidth` and `baseHeight` values in the initialization options hash.

Second, if the `superview` value is supplied in the options hash, the superview's style `width` and `height` are used as the bounds.

Finally, if no bounds can be inferred, the code falls back on `GC.app.baseWidth` and `GC.app.baseHeight`