refactor media format handling to use MediaFormatProvider pattern instead of media formats stored in content; separate SPI APIs to own java packages