How to reverse engineer the Twenty Eleven background image uploader?

for the custom background, you’d call add_custom_background, for the cool header image things, it’s add_custom_image_header. You need to hook both those into something like after_setup_theme:

<?php
add_action( 'after_setup_theme', 'wpse27586_setup_theme' );
function wpse27586_setup_theme()
{
    add_custom_background();
    add_custom_image_header( 'some_callback_for_front', 'some_callback_for_admin' );
}

Add custom image header is more complex than it seems, so take a look in Twenty Eleven’s functions.php file inside the function twentyeleven_setup, which starts around line 75, for some how to. The code is very well commented.