Initial support for ChromeVox output rules.
This cl adds the ability to format an AutomationNode based upon a simple format specifier.
The selection of a format specifier is currently based upon which event is being handled and what type of node (its role) we are attempting to format.
Once the format block has been obtained, we use that block's set of format specifiers to construct output.
Types of output are as follows:
enter: applies to the node if it is newly in the ancestry chain of the current node; does not include the current node. In the future, this specifier may further be expanded into speak and braille subkey/values.
leave: similar to enter in every way, except the scan/application is performed on the ancestry chain fo the previous node (inclusive).
speak: applied to the current node.
braille: applied to the current node.
Note that for now, braille mirrors speech.
Review URL: https://codereview.chromium.org/
706103002
Cr-Commit-Position: refs/heads/master@{#303894}