Bug 1075970 - The reverse (TargetObj-to-DOMElement) map introduced in Bug 1044525 is now one-to-many mapping.

- Since a layout may be associated with more than one rendered layouts (according to different input types and other flags), a target obj must be able to reverse-mapped to multiple DOMElements.
- The 'value' of the reverse WeakMap() (key'ed by target obj) is now an object of keyboardClass-to-DOMElement; the keyboardClass is decided by render as different keyboardClass values map to different physical DOM keyboard layout.
Replace `(renderer & alt_char_menu.js)` with `(render.js and ./js/view/)`