Added logging for new libbluray event types

- BD_EVENT_STEREOSCOPIC_STATUS, BD_EVENT_DISCONTINUITY, BD_EVENT_IDLE, BD_EVENT_PLAYMARK
Updated managed Blu-ray structure and enumeration definitions to match the native side
Changed BD-J branch to be used for the libbluray
Force libbluray overlay callback function to use __cdecl calling convention
Implement ARGB overlay support to support BD-J based drawing
WORKAROUND: disabled initial stream parsing in CBDReaderFilter::Start()

JVM cannot be started twice, so at least one disk can be now played per process' life cycle
WOKRAROUND: disabled locking for overlay callbacks
WORAROUND: disabled first_play_supported() since libbluray wont provide correct results at the moment
Stop reading loop when BD_EVENT_END_OF_TITLE is received
WORKAROUND: disable EC_ERRORABORT on read failed cases
WORKAROUND: forced menu to be on as BD-J on libbluray wont currently send menu event correctly
Ignore BD_EVENT_END_OF_TITLE and BD_EVENT_IDLE events
Changed libbluray's submodule to point the forked repository
Added sanity checks for missing D3D device for BD overlay renderer

- this will allow GraphEdit / GraphStudio to be used for debugging
WORKAROUND: changed demuxer to use RAW stream information instead of audio stream info when detecting audio presence

to be removed when / if libbluray is providing correct clip info
Changed libbluray module origin to point the VLC repository
Added FreeType2 to the DS filter solution
Removed ARGB overlay unregister from the libbluray wrapper
Drop audio samples that have negative rtStart

This shouldn't ever happen, but in case if there is a bug that causes such to happen it is better to drop the packets than stall the downstream filters.
Added sanity check for CPlaylistManager::GetNextAudioPacket()

Do not try to access a NULL packet