[prototype branch] Work in progress: Initial prototype of refactored MBR switching logic. Extracted logic out of DynamicNetStream into standalone NetStreamSwitchingManager, which works with a plain NetStream and handles switching logic based on NetStream events. Applied similar refactoring to NetMocker classes. Updated unit tests, with the exception of TestDynamicStream, which I'm keeping around to make sure similar tests are applied to NetStreamSwitchingManager. Everything's still in a very rough state (and auto-switching has bugs).