CTextFile: Add a buffer for read operations.
SimpleTextSubtitle: Optimize Add function to improve the parsing speed.
SimpleTextSubtitle: Add missing break statement.
SimpleTextSubtitle: GetInt: Avoid temporary CString construction.
STS: Fix CreateSegments not to create empty segments.
STS::Add: Some segments were forgotten when inserting.
Sub renderer: Avoid rendering many times the exact same subtitle.
Rasterizer: Constify some stuff.
RTS: ScanConvert shouldn't need a __try/__except.

This reverts bd96d9168129cbab728094c5b5773486fb291635.

Catching blindly all exceptions and silencing them is a bad idea. Also I couldn't reproduce the problem with LAV Filters and the latest version of the old MPC MP4/MOV Splitter.
Subtitle renderer: Add a cache to avoid regenerating the same outlines.

This commit generally speeds up the rendering process by a factor 2 to 4.
Subtitle renderer: Add a cache to avoid regenerating the same overlay.

This commit improves the rendering process speed up to a factor 2 for complex subtitles.
Subtitle renderer: faster Gaussian blur filter.

About twice as fast as the old filter in general without any output change.
Subtitle renderer: Use two different planes for the subtitle body and its border.
Subtitle renderer: Use short integers for the Gaussian blur filter kernel.

No output change, will be useful for future work.
Subtitle renderer: SSE2 Gaussian Blur filter.
Subtitle renderer: Gaussian blur filter: Use SSE2 aligned load whenever possible.
Subtitle renderer: Gaussian blur filter: Use SSE2 and libdivide for the final computation step.
STS: Take Unicode <-> multi-byte conversion into account in GetStrW/GetStrWA.
Subtitle renderer: Add a cache for SSA parsing.
Subtitle renderer: Avoid a useless CMyFont creation.