Implement decompressing and drawing of bitmap rectangles in another class. Use separate QImage objects in multiple threads which all use a shared byte data. No mutexes needed as only the image's raw pixel data is read/modified by the threads.

Signed-off-by: Janne Hakonen <janne.hakonen@oss.tieto.com>
Scale remote desktop so that it fits to the widget.

Signed-off-by: Janne Hakonen <janne.hakonen@oss.tieto.com>
Refactor: Separated screen buffer scaling functionality from RemoteDisplayWidget to a new class named as ScaledScreenBuffer.

Signed-off-by: Janne Hakonen <janne.hakonen@oss.tieto.com>
Fixed coordinate mapping returning incorrect values after widget's resize.

Signed-off-by: Janne Hakonen <janne.hakonen@oss.tieto.com>
Refactor: Separated screen buffer centering and adding of black borders functionality from RemoteDisplayWidget to a new class named as LetterboxedScreenBuffer.

Signed-off-by: Janne Hakonen <janne.hakonen@oss.tieto.com>
Pass desktop's size via command line. Force window's initial size to same as remote desktop's size is.

Signed-off-by: Janne Hakonen <janne.hakonen@oss.tieto.com>