winaccessibility: clean up the AGGMAP in CMAccessible

Replace it with a map for the new direct C++ instantiation and move this
implementation detail to the cxx file.

Change-Id: Ia961da03f8eb899481cf02f430c921aa8abd7c5c
(cherry picked from commit 9d71c9a442b2be027900f7b20342e2a0f43ed2ab)
winaccessibility: use SAL_N_ELEMENTS

Change-Id: I479117e0794375f1ec0c96b78db22b3569b456ec
(cherry picked from commit a5c7ed21584b024d52d32917d1b07462a00e7405)
winaccessibility: InlineIsEqualGUID is defined by guiddef.h

Change-Id: Ia469076ec6f815133e77a14940e8afa05e177231
(cherry picked from commit cbda6da004f1de8cdbf2b1298a835afa850be078)
winaccessibility: remove CheckEnableAccessible.h and assorted noise

(cherry picked from commit dd7df93417c8169d7f2ee935841fa72ad02dbcc9)

Conflicts:
	winaccessibility/source/UAccCOM/CheckEnableAccessible.h

Change-Id: I45e1d72b1abf64a965397c50ac3b95b5bbee3206
winaccessibility: drop icu externals, probably some copypasta

Change-Id: Ife0960b235e24f17640b197f952a9a094b7d654d
(cherry picked from commit 57f88bb76b069e0776574e93d3009785572b8193)
prewin.h: remove silly extern "C" nonsense which prevents...

... using prewin.h/postwin.h around ATL headers.  Also remove some other
cruft while at it.

Change-Id: I7d081dae88273dfd214ef078f5844ce266e388fb
(cherry picked from commit f5a54cbf120efb335205e00ba18a9038449b92c9)
winaccessibility: fix locking in UAccCOM

The COM components will (usually? always?) be called on the main thread
via COM, and may also be called on any thread from the UNO event
listeners.  Both ways may access the global AccWinObjectManager.
So the easiest way to lock all that without introducing new deadlocks
seems to be to just use the SolarMutex.

The fact that the main thread is in a COM STA is rather irrelevant here
since we don't currently do the required manual marshalling of the COM
pointers so they can be accessed from UNO event listeners running in
threads other than the main thread anyway.

To get that to build:
- use prewin.h and postwin.h around ATL headers
- link UAccCOM against vcl
- define both UNICODE and _UNICODE to not break on mis-matching TCHAR
  nonsense

Change-Id: I1ccdf7a4a5c2b5f0b9c29ef39d126c4b8a16898a
(cherry picked from commit d28687d5171784e1ec23d4cf13d7b3c56cc52782)
winaccessibility: nobody calls get_XInterface

Change-Id: I201fc14a02c47a6c735c65f649c6b9f068d92c71
(cherry picked from commit b6664d0649d9be6208b39d6dd276e40347af44c3)
winaccessibility: fix exception handling in AccEventListener

RemoveMeFromBroadcaster() may catch a DisposedException and then not
call NotifyDestroy.

Change-Id: I2b766541c3e6800c88a83aa482de0093714d39c2
(cherry picked from commit 9e351edccf3b9a71bb310bcaefe07821479ff5e5)
winaccessibility: do not access freed AccObject

The AccObject is stored by value in XIdAccList, so don't call GetResID()
after it has been erased.

Change-Id: I391aad1e3ab71d443cc6e6b92381f74918e0bcfb
(cherry picked from commit b22e987113374399c7455f7979bc34519eac69da)
winaccessibility: GetChildInterface may return 0

Change-Id: I950072d22cd315d1898b76a2c345121d31d432c4
(cherry picked from commit 506bab8f62c585380e607b91ab80c939dc99851c)
winaccessibility: clear entires from XHWNDDocList too

... in DeleteAccObj().  Otherwise pointers to deleted documents will be
used.

Change-Id: Ia807dc3a2c782019cf7fc874d264058219956d74
(cherry picked from commit 975e1d293d6f702c81647449fd28560b6d00e4a0)
winaccessibility: out-line those COM methods

Change-Id: I7e9a94898c6bc8142b46a05ffba56fc41eb125c2
(cherry picked from commit 57acb3d068ef1e47532ae100d78aa0bd8d061683)
winaccessibility: remove some noise from not-implemented methods

Change-Id: I8046ae37cba87f0e5df550de831229345df1c6f8
(cherry picked from commit fdd76463b4dfd05880effdd2afc0001eea3d850a)
winaccessibility: let's try to remove that IsInMainThread()

... and see what happens.  Hopefully nothing bad since everything should
be thread-safe now.

Change-Id: I333b29bc2066578ccabadb022936a28dafdf7104
(cherry picked from commit a8804dfc502454b562f1e0f5947c2f5264cd9b92)