Make scope bar buttons AXCheckbox'es for accessibility

This notifies the user the choice is exclusive to only one
button. Also including these buttons in an AXRadioGroup adds
positional indication to the radio buttons (like "2 of 3")
which gives sense of how many values there are to choose from,
where in the list of those the user currently is, and, if there
are more sequential AXRadioGroups (which is not the case here),
it distinguishes in which one the user is making a choice.
Improve accessibility of file browser items

Make available to accessibility the following information that file
browser displays visual indication for:

* file type (whether the file is a file, folder etc.)
* SCM status (whether the file is modified etc.)
* close button (whether the file is open)

Also, while we are at it,  make available to accessibility the
tooltip, filename and URL.
Post AXValueChanged when changing selected tab

If this is on, then VoiceOver reads the name of the new tab being
switched to, enabling easier navigation between open tabs.
Fix off-by-one when validating folding ranges

Closes #927.
Don’t expand APP_* variables in build.ninja

This makes it simpler to edit the generated file as one only need to edit the top variable section.
Setup attr.os-version as part of document scopes

While not exactly a document scope, the advantage is that document scopes are always set, where project scopes are only setup for “projects”.
Setup document scopes for initial untitled document