Refactored the Desktop/Window/Bounding Box objects

Refactored and reworked the rectangle handling of desktop, window and
bounding box objects. It also made the capture of the small windows
faster and resolved the "trailing" issue when a single window was
recorded which was smaller than the video resolution and it was moved
around.