Ported r2814 from ZXing

Original commit message: "Issue 1693 Aztec encoder improvements"
Replace all remaining chars with unichars

Also changes several functions to accept const arrays (removing the need
for casting)
Ported r2815 from ZXing

Original commit message: "Support mirrored QR codes"
Ported r2822 from ZXing

Original commit message: "AztecWriter improvements from fyellin"
Rename ZXEncoder to ZXQRCodeEncoder
Add Objective-C wrappers around BOOL and int arrays
Update comments to better match Javadocs from ZXing

Also rename constants to include "ZX_" prefix
Various speed improvements

Most of these are due to removing unnecessary method calls for
properties.
Rename ZXHighLevelEncoder to ZXDataMatrixHighLevelEncoder
Ported r2834 from ZXing

Original commit message: "Aztec updates from fyellin"
Ported r2841 from ZXing

Original commit message: "Fix parsing of '12756.501'"
Ported r2846 from ZXing

Original commit message: "Issue 1738 Add support for margin hint in
PDF417"
Ported r2847 from ZXing

Original commit message: "Issue 1737: Add hint to not strip Codabar
start/end"
Ported r2850 from ZXing

Original commit message: "Issue 1742 fix back-tick in text encodation
set"
Ported r2852 from ZXing

Original commit message: "Allow less quiet zone to start an ITF barcode
when it is near the edge"
Ported r2862 from ZXing

Original commit message: "More misc inspection stuff"
Ported r2866 from ZXing

Original commit message: "Issue 1758 correct corner case of mask pattern
penalty 3"
Ported r2867 from ZXing

Original commit message: "Issue 1758: revert last change, applying
penalty at edge is necessary. Try new change from original code to avoid
applying in the "2 1 3 1 1" case"
Correct ZXMaskUtilTestCase
Ported r2870 from ZXing

Original commit message: "Issue 1762 PDF417 speed up and back-port to
Java"