opusenc: reject sampling rates over 768KHz or under 100Hz.

Crazy sampling rates cause unreasonable memory usage.

This also moves lpc.c temporary buffers onto the heap, we use them once
per file, so the additional malloc activity is not a concern.

Thanks to Dennis Felsing for the report and example inputs.
Opusdec doesn't handle chaining that changes the channel count. Exit in that case.

Also handle malloc failure in a few more cases.