bug 982842 - initial a11y ipc impl r=davidb, bent
bug 1074854 - properly mark proxies in atkobject::accWrap r=davidb

When the accWrap field points at a proxy its value must be the pointer
or'd with IS_PROXY, but we incorrectly stored the plain pointer.
bug 1074862 - more fully initialize DocAccessibleParents r=davidb

Instances of DocAccessibleParent need to behave like any other
ProxyAccessible which means something sensible must happen when we
access these fields of a DocAccessibleParent.
bug 1074917 - teach atk to get states from proxies r=surkov, davidb, mrbkap

We need to implement things like
https://developer.gnome.org/atk/unstable/AtkObject.html#atk-object-ref-state-set
and the same basic thing on windows.  That API is fundamentally sync,
but the information necessary to implement it is only available in the
child process.  That seems to leave us with two options, either we can
use sync ipc or we can use async ipc but spin a nested event loop.  If
we were to spin nested event loops we'd have to be careful to make sure
a11y didn't do anything until the nested event loop was done, and then
a11y would have to deal with whatever changed.  I'm not sure that will
work, and since the system is probably waiting for the accessibility
information anyway I don't think we get much out of spinning the event
loop.  So I think its somewhat less bad to use sync ipc here.