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
winaccessibility: use SAL_N_ELEMENTS

Change-Id: I479117e0794375f1ec0c96b78db22b3569b456ec
winaccessibility: InlineIsEqualGUID is defined by guiddef.h

Change-Id: Ia469076ec6f815133e77a14940e8afa05e177231
winaccessibility: remove CheckEnableAccessible.h and assorted noise

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

Change-Id: Ife0960b235e24f17640b197f952a9a094b7d654d
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
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
winaccessibility: nobody calls get_XInterface

Change-Id: I201fc14a02c47a6c735c65f649c6b9f068d92c71
winaccessibility: fix exception handling in AccEventListener

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

Change-Id: I2b766541c3e6800c88a83aa482de0093714d39c2
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
winaccessibility: GetChildInterface may return 0

Change-Id: I950072d22cd315d1898b76a2c345121d31d432c4
winaccessibility: clear entires from XHWNDDocList too

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

Change-Id: Ia807dc3a2c782019cf7fc874d264058219956d74
winaccessibility: out-line those COM methods

Change-Id: I7e9a94898c6bc8142b46a05ffba56fc41eb125c2
winaccessibility: remove some noise from not-implemented methods

Change-Id: I8046ae37cba87f0e5df550de831229345df1c6f8
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
Revert "fix windows build"

This reverts commit 45504f9ba8de2a4372193910b2cb9405f1ea896a.

The problem that is apparently fixed here is that link.exe is too dumb
to pick the right entry-point if the WinMain definition does not come
from an object file but a .lib; in that case it apparently defaults to
archaic 8-bit WinMain so tell it to use Unicode one with /ENTRY.

Conflicts:

	desktop/Executable_sbase.mk
	desktop/Executable_scalc.mk
	desktop/Executable_sdraw.mk
	desktop/Executable_simpress.mk
	desktop/Executable_smath.mk
	desktop/Executable_sweb.mk
	desktop/Executable_swriter.mk

Change-Id: Ib6239eb0fd3d64fd4a292a0d42d65ef75475c389