Do not use macros for accessibility constants

This improves the chance that someone googling for a certain accessibility
attribute or other accessibility constant in order to find inspiration how to
implement it will find our code in OakTextView. It also makes the code more
understandable for reading by someone else, and generally follows the way
others write accessibility code (including Apple in their code samples). It
does make the code more verbose, but I think that does not outweight the above
advantages.

Inspired by: googling and "githubbing" for NSAccessibilityLinkTextAttribute:
http://lists.apple.com/archives/accessibility-dev/2014/Aug/msg00016.html
Use custom type for search results to get better type checking

This also makes it easy to have next/previous/parent (weak) pointers for better traversing.
Use a FFResultNode object to contain top-level results
Use FFResultNode objects as the ‘Go To’ menu’s representedObject
Iterate all search results using a single for-loop
Add first/last match convenience methods to FFResultNode
Change terminology: ‘Match’ → ‘ResultNode’
Introduce showResultNode: convenience method
Move select next/previous tab/result out of window controller
Move convenience functions from FFMatch → FFResultNode
Exclude line after match from excerpt when match ends with LF
Move some logic to the FFResultNode type
Use system images for the “shell support installed” indicator
Abort search when closing find dialog