Changes to calculator appModule to:
*Allow it to work on Windows 7 Calculator.
*Improve when NVDA should announce the display.
Specifically:
*Create a 'Display' NVDAObject, which represents the calculator display, rather than supporting the display via appModule events.
*Make sure the Display NVDAObject is used for the calculator display on Windows 7, not only just Vista/XP.
*Rather than using value changes to work out if the display has changed (which was flaky on Vista/XP, and non-existant on Windows 7), instead announce the display on particular key presses and typed characters. Most keys that should be are supported, please report if there are any keys missing. We only want to announce the display for commands that actually do something to the displayed result. Currently some commands are dtected via key presses (scripts), and some by typed characters. The reason for using two methods is that if just using key presses, then its possible for the typed character to be spoken after the display announcement which is weird. Plus, due to a bug in NVDA, some key presses when sent with sendKey do not send the correct key (e.g. equals). Also some commands such as s, r, p etc do not cause a wm_char window message, and therefore can not be detected as a typed character.