theoradec: Don't use custom allocation logic and always crop locally & various other minor fixes
All video frames have to be copied from libtheora's memory to the output frame anyway, so we can as well do the cropping here directly instead of copying the full frames and having downstream do the cropping.
This reduces the complexity of the code considerably, and among other things gets rid of a bug related to buffer pool configuration.
Fixes #2612 (closed)