CMakeLists cleanup

No need to add explicit dependencies and link directories as
target_link_libraries() takes care of that.
Don't add -Wall unconditionally before checking whether it is supported
or not.
Hide internal functions and variables using static keyword

This cleans symbol table, prevents name collisions and allows compiler
to generate better code.
Also comment out unused functions and variables.
backend: hide internal library symbols on *nix

Use -fvisibility=hidden and explicitly mark public functions as such.
This further cleans symbol table, prevents name collisions, allows compiler
to generate better code, avoids unnecessary PLT lookups.
frontend: clarify data arguments behavior

Data arguments (--data and --input) should be the last arguments,
otherwise settings coming after them are silently ignored.
backend: Const correctness
frontend_qt4: Remove unused variable

Fixes the following gcc warning:
frontend_qt4/sequencewindow.cpp: In member function ‘void SequenceWindow::generate_sequence()’:
frontend_qt4/sequencewindow.cpp:190:6: warning: variable ‘returnval’ set but not used [-Wunused-but-set-variable]
backend: Don't use uninitialised value in kix_code

This fixes the following valgrind warning:
Conditional jump or move depends on uninitialised value(s)
   at 0x4E6AD1E: lookup (common.c:129)
   by 0x4E879DC: kix_code (postal.c:393)
   by 0x4E6C45A: ZBarcode_Encode (library.c:549)
   by 0x4016AB: main (main.c:154)
 Uninitialised value was created by a stack allocation
   at 0x4E87912: kix_code (postal.c:362)
backend: Don't use uninitialised value in microqr

This fixes the following valgrind warnings:

Conditional jump or move depends on uninitialised value(s)
   at 0x4E730F8: rs_encode (reedsol.c:122)
   by 0x4E93C51: microqr (qr.c:1657)
   by 0x4E6C04D: ZBarcode_Encode (library.c:454)
   by 0x4016AB: main (main.c:154)
 Uninitialised value was created by a stack allocation
   at 0x4E91F3D: microqr (qr.c:1928)

Use of uninitialised value of size 8
   at 0x4E730CB: rs_encode (reedsol.c:123)
   by 0x4E93C51: microqr (qr.c:1657)
   by 0x4E6C04D: ZBarcode_Encode (library.c:454)
   by 0x4016AB: main (main.c:154)
 Uninitialised value was created by a stack allocation
   at 0x4E91F3D: microqr (qr.c:1928)

Conditional jump or move depends on uninitialised value(s)
   at 0x4E7310E: rs_encode (reedsol.c:127)
   by 0x4E93C51: microqr (qr.c:1657)
   by 0x4E6C04D: ZBarcode_Encode (library.c:454)
   by 0x4016AB: main (main.c:154)
 Uninitialised value was created by a stack allocation
   at 0x4E91F3D: microqr (qr.c:1928)

Use of uninitialised value of size 8
   at 0x4E7311E: rs_encode (reedsol.c:128)
   by 0x4E93C51: microqr (qr.c:1657)
   by 0x4E6C04D: ZBarcode_Encode (library.c:454)
   by 0x4016AB: main (main.c:154)
 Uninitialised value was created by a stack allocation
   at 0x4E91F3D: microqr (qr.c:1928)
backend: Don't use uninitialised value in aztec

This fixes the following valgrind warnings:

Conditional jump or move depends on uninitialised value(s)
   at 0x4EAB611: aztec_text_process (aztec.c:169)
   by 0x4EAD162: aztec (aztec.c:670)
   by 0x4E6C98F: reduced_charset (library.c:571)
   by 0x4E6D2E3: ZBarcode_Encode (library.c:672)
   by 0x401467: escape_char_process (main.c:154)
   by 0x402623: main (main.c:542)
 Uninitialised value was created by a stack allocation
   at 0x4EAAF7A: aztec_text_process (aztec.c:62)

Conditional jump or move depends on uninitialised value(s)
   at 0x4EAB6D1: aztec_text_process (aztec.c:188)
   by 0x4EAD162: aztec (aztec.c:670)
   by 0x4E6C98F: reduced_charset (library.c:571)
   by 0x4E6D2E3: ZBarcode_Encode (library.c:672)
   by 0x401467: escape_char_process (main.c:154)
   by 0x402623: main (main.c:542)
 Uninitialised value was created by a stack allocation
   at 0x4EAAF7A: aztec_text_process (aztec.c:62)
backend: Don't read beyond array bounds

This fixes the following valgrind warnings:

Invalid read of size 1
   at 0x4E6AAE9: module_is_set (common.c:135)
   by 0x4E7CC44: png_plot (png.c:849)
   by 0x4E7E060: png_handle (png.c:1103)
   by 0x4E6D4CA: ZBarcode_Print (library.c:721)
   by 0x40263D: main (main.c:544)
 Address 0x5c53090 is 0 bytes after a block of size 36,944 alloc'd
   at 0x4C2C71B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E6B4B5: ZBarcode_Create (library.c:35)
   by 0x401AC7: main (main.c:322)

Invalid read of size 1
   at 0x4E6AAE9: module_is_set (common.c:135)
   by 0x4E7D7C5: png_plot (png.c:982)
   by 0x4E7E1CD: png_handle (png.c:1106)
   by 0x4E6D4CA: ZBarcode_Print (library.c:721)
   by 0x40263D: main (main.c:544)
 Address 0x5c53090 is 0 bytes after a block of size 36,944 alloc'd
   at 0x4C2C71B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E6B4B5: ZBarcode_Create (library.c:35)
   by 0x401AC7: main (main.c:322)

Invalid read of size 1
   at 0x4E6AAE9: module_is_set (common.c:135)
   by 0x4E71EEF: ps_plot (ps.c:310)
   by 0x4E6D520: ZBarcode_Print (library.c:727)
   by 0x40263D: main (main.c:544)
 Address 0x5c53090 is 0 bytes after a block of size 36,944 alloc'd
   at 0x4C2C71B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E6B4B5: ZBarcode_Create (library.c:35)
   by 0x401AC7: main (main.c:322)

Invalid read of size 1
   at 0x4E6AAE9: module_is_set (common.c:135)
   by 0x4E73598: ps_plot (ps.c:531)
   by 0x4E6D520: ZBarcode_Print (library.c:727)
   by 0x40263D: main (main.c:544)
 Address 0x5c53090 is 0 bytes after a block of size 36,944 alloc'd
   at 0x4C2C71B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E6B4B5: ZBarcode_Create (library.c:35)
   by 0x401AC7: main (main.c:322)

Invalid read of size 1
   at 0x4E6AAE9: module_is_set (common.c:135)
   by 0x4E78409: svg_plot (svg.c:278)
   by 0x4E6D54B: ZBarcode_Print (library.c:729)
   by 0x40263D: main (main.c:544)
 Address 0x5c53090 is 0 bytes after a block of size 36,944 alloc'd
   at 0x4C2C71B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E6B4B5: ZBarcode_Create (library.c:35)
   by 0x401AC7: main (main.c:322)

Invalid read of size 1
   at 0x4E6AAE9: module_is_set (common.c:135)
   by 0x4E7950F: svg_plot (svg.c:443)
   by 0x4E6D54B: ZBarcode_Print (library.c:729)
   by 0x40263D: main (main.c:544)
 Address 0x5c53090 is 0 bytes after a block of size 36,944 alloc'd
   at 0x4C2C71B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4E6B4B5: ZBarcode_Create (library.c:35)
   by 0x401AC7: main (main.c:322)
backend: Fix memory leak on error path

Report by clang as:
backend/library.c:843:4: warning: Potential leak of memory pointed to by 'buffer'
                        strcpy(symbol->errtxt, strerror(errno));
                        ^~~~~~
backend: Don't read beyond array bounds

This fixes the following clang warnings:

backend/rss.c:972:27: warning: The left operand of '&' is a garbage value
                next = (block[1][i + 1] & 0xFF);
                        ~~~~~~~~~~~~~~~ ^

backend/code49.c:191:17: warning: Assigned value is garbage or undefined
                        codewords[i] = codewords[i + 1];
                                     ^ ~~~~~~~~~~~~~~~~

/backend/aztec.c:191:21: warning: Assigned value is garbage or undefined
                                        blockmap[0][j] = blockmap[0][j + 1];
                                                       ^ ~~~~~~~~~~~~~~~~~~