Fix transcoding to high resolutions.

When the transcoder loaded the recording profile, the max width and
height fields were not being set properly so transcoding profiles
with high resolutions were instead limited to 768x576.  Since these
max values are set the ImageSize ctor, changing them after the fact
is a bit invasive.  Rather than using a RecordingProfile variable
in Transcode and trying to change the values after the fact, this patch
fixes the issue by using a RecordingProfile pointer and creating an
instance allowing us to tell the constructor that the profile we're
going to load is a transcoder profile and the max resolution values
(and any other transcoder-specific values or limits) should be
set correctly.

Fixes #11348.