theoradec: make sure the selected pool accepts the new config

If gst_buffer_pool_set_config() fails then the pool will use its old
config. This may include different width or height when
pic_width/pic_height != frame_width/frame_height.
As a result, the assertions in theora_handle_image() will fail.

So check the result of gst_buffer_pool_set_config() and only use the pool
if it succeeds. Otherwise let the parrent decide_allocation() create a new
36 jobs for !1211 with theoradec in 36 minutes and 50 seconds (queued for 3 seconds)
latest merge request