This should fix some spurious test failure in `test_media_session_Close`, as sometimes the source shutdown happens quickly enough and changes the session state to SESSION_STATE_STOPPED, causing the later Close command to succeed when it consistently returns E_SHUTDOWN on Windows.
-- v3: mf/session: Simplify the media session shutdown event handling. mf/session: Introduce a SESSION_FLAG_SOURCE_SHUTDOWN presentation flag. mf/session: Replace SESSION_FLAG_END_OF_PRESENTATION with dedicated states. mf/session: Replace SESSION_FLAG_FINALIZE_SINKS with dedicated states. mf/session: Remove unnecessary SESSION_FLAG_PENDING_COMMAND flag. mf/session: Move internal states to a separate command_state enum. mf/session: Clarify internal states from session states separation.