Crop header images inside the customizer

Description

3.4 shipped without the ability to crop header images inside the customizer. This is both sub-optimal and causes a bug.

If a header image is uploaded through the customizer, the theme's header image size restrictions are not enforced, which can lead to oversized headers and broken themes. By adding a crop step, we can ensure the header image is properly sized.

21355-for-branch.diff​ ports these changes to the 3.4 branch. For testing, I recommend testing on Twenty Eleven and adding Twenty Twelve to your 3.4 checkout, as it allows for custom headers but currently does not register any custom headers by default.

The behavior should work as follows:

The "upload new" tab should never appear.

If header images for this theme have been previously uploaded, there should be an "uploaded" tab. This tab should be selected by default.

If there are default images, there should be a "default" tab. If there are no previously uploaded images, the "default" tab should be selected by default.

If there are no previously uploaded or default header images, then both the header image control and section should be completely hidden.

Just piping in with my two cents: When a feature like this is removed - and especially when the feature looks like it disappears entirely like this one does - it is important to make it known in the release documentation. A lot of people are asking why the Header Image function no longer appears in the Customizer when they activate a new theme like Twenty Twelve. For increased usability and less confusion the option should be greyed out in the customizer rather than disappear because right now it's just plain confusing to anyone who hasn't read this thread.