codec/progressive: Allow the usage of multithreading for decoding
codec/progressive: Allow the usage of multithreading for decoding

While decoding RemoteFX encoded frames is multithreaded, decoding
RemoteFX Progressive frames is not, although both codecs work
relatively similarly.
This is especially noticeable with frames, that have a resolution
larger than 1920x1080 pixels.

decompress_tile_first() and decompress_tile_upgrade() can both run in
different threads at the same time for different tiles without necessary
adjustments.

So, do exactly that using the ThreadPool that already exists in the
RFX_CONTEXT to decrease the decoding time and therefore increase the
performance.
On a 3K display (2880x1620 pixels) this makes out of a choppy
experience a fluid experience.

erbth/FreeRDP,RangeeGmbH/FreeRDP,RangeeGmbH/FreeRDP,DavBfr/FreeRDP,RangeeGmbH/FreeRDP,Devolutions/FreeRDP,DavBfr/FreeRDP,FreeRDP/FreeRDP,DavBfr/FreeRDP,DavBfr/FreeRDP,Devolutions/FreeRDP,erbth/FreeRDP,FreeRDP/FreeRDP,FreeRDP/FreeRDP,awakecoding/FreeRDP,FreeRDP/FreeRDP,RangeeGmbH/FreeRDP,RangeeGmbH/FreeRDP,erbth/FreeRDP,FreeRDP/FreeRDP,Devolutions/FreeRDP,Devolutions/FreeRDP,akallabeth/FreeRDP,awakecoding/FreeRDP,awakecoding/FreeRDP,akallabeth/FreeRDP,Devolutions/FreeRDP,Devolutions/FreeRDP,Devolutions/FreeRDP,DavBfr/FreeRDP,RangeeGmbH/FreeRDP,DavBfr/FreeRDP,FreeRDP/FreeRDP,akallabeth/FreeRDP,DavBfr/FreeRDP,akallabeth/FreeRDP,akallabeth/FreeRDP,erbth/FreeRDP,awakecoding/FreeRDP,awakecoding/FreeRDP,erbth/FreeRDP,erbth/FreeRDP,erbth/FreeRDP,FreeRDP/FreeRDP,FreeRDP/FreeRDP,awakecoding/FreeRDP,akallabeth/FreeRDP,DavBfr/FreeRDP,Devolutions/FreeRDP,awakecoding/FreeRDP,RangeeGmbH/FreeRDP,RangeeGmbH/FreeRDP,akallabeth/FreeRDP,awakecoding/FreeRDP,akallabeth/FreeRDP,erbth/FreeRDP