fix higher debug levels build

Change-Id: If002fa0140174e43128469fc0af35edd0dfb7839
fix memleak circular dependency of CElementList and CElement

launching impress leaks 70+k

==1458== 78,741 (152 direct, 78,589 indirect) bytes in 1 blocks are definitely lost in loss record 24,296 of 24,315
==1458==    at 0x4A0645D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1458==    by 0x4C3895D: rtl_allocateMemory_SYSTEM(unsigned long) (alloc_global.cxx:270)
==1458==    by 0x4C38A64: rtl_allocateMemory (alloc_global.cxx:303)
==1458==    by 0x2DCC0B67: cppu::OWeakObject::operator new(unsigned long) (weak.hxx:85)
==1458==    by 0x2DCCB3D3: DOM::CDocument::getElementsByTagName(rtl::OUString const&) (document.cxx:714)
==1458==    by 0x25DC99D6: SdDrawDocument::InitLayoutVector() (drawdoc.cxx:1008)

because the CElementList owns the CElement via m_pElement and
m_pElement owns the CElementList via the addEventListener.

Use a WeakEventListener pattern to let the CElement own
that helper which itself doesn't own the CElementList but is
owned by it instead, and forwards the events to the CElementList

In order to use that pattern the CElementList must be have a m_refCount
of 1 when the addEventListener is called, i.e. post ctor, so rename
the original CElementList as CElementListImpl and call its registerListener
from a wrapper CElementList

Change-Id: Ibd4f19b619543a4ef580366c69efb61b526696ab