Memory override (Attempt #2)

- Added **IM_MALLOC**, **IM_FREE**, **IM_REALLOC** macros to override memory allocations (see *imconfig.h*)
- Changed *g.LogClipboard* to pointer type, so it can be dynamically created and freed in a predictable scope
- Added `ImStrdup`
- Fixed a leak in ImGui::Shutdown - `g.RenderDrawLists.clear()`