I just posted the following to the Media Code Sprint wiki. Here it is for reference and commentary. Please let me know if there are any problems with this functionality, or if you believe I have misinterpreted it.
* Implementation of hook_media_register
* To plug into the Media API, a module must first register itself, using
* hook_media_register. This function will return an array of items keyed
* by a unique machine name, usually using the module's name for the name