OcrInput Class

Introducing a better code structure with `OcrInput` which allows more developer control of OCR.

This structure is the building block on which high performing OCR applications for C# can be built.

Features include automatic or explicit image optimizations, managed safety from memory leaks, multithreading, multi-page documents, OCR to PDF, OCR to HTML and support to OCR PDF and multi-page TIFF files.