Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8
also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
Unified renderer in osd_window as std::unique_ptr
Made windows all std::shared_ptr<window_type>
Made window lists std::list<std::shared_ptr<window_type>>
Updated OSD SDL worker_param to not use malloc (not compatible with smart
pointers)
Made renderer pointer to window a weak reference. May not be available
during destruction of the window.