RTS: Properly detect memory allocation failures.
RTS: Don't initialize useless CRect object.
RTS: Call Delete() for string only once for one point.

Delete() call isn't free and it make sense to halve the needed calls.

Also fixes CID 1224583
CPolygon: Cosmetics
Save the solution files with Visual Studio.
Use c++11 random number generators.

In our case it doesn't matter that much, but why not?
RTS: Fix artifacts after scaling due to improper rounding.

scalex and scaley values represents proportion between target size and
original size and should be rounded after scaling subtitle values.
RTS: Use SSE2 conversion for rounding.
MainFrame: adjust auto-zoom logic for DVB.

We can't determine whether event is triggered after channel change or on
resolution change. Always restore default auto-fit factor.
CSubPicQueueNoThread: Respect invalidation time.
Do not clear surface cache when max texture size has not been changed.

We were removing valid surfaces from the cache for PGS/DVB subtitles.
Basically surface cache was broken.
SubPic queue: Clear queue only when it's needed.

Time can decrease even within the same video frame and
it make no sense to purge whole queue, if we still can reuse buffered
subpic.