A little bit optimization
Some light tweak on the hotspot
Some VC-specific optimizations + some general optimized routines.
Rewrite encodeLZ77 according to my assembly code.
Minor fixes.
Some Minor optimizations.
OK. The chunk's APIs just suck. Rewrite them some time.
Finally commit my assembly optimized code.
Fix arg parsing issue introduced before.
Slight optimization on lz77.c
Optimize on cache.c
Inline length/distance calculation. Use bit scan(log2) for distance on MSVC.
Length calculation still uses lookup tables, as length 258 should be
treated as length 259. Although 258 - 3 = 255, and it's easy to make 255
to 256 without introducing jmp branches (add al, 1 | setc ah | adc al, -1)
-OR- (add eax, 1 | cmp eax, 256 | sbb eax, 0) so that BSR could still be
used, yet it's hard to do so with pure C code. As MSVC's inline assembly
just sucks, it's easier to use lookup tables.

Don't fuck me with GCC, unless it could stop using stupid (sub esp, xxx |
mov [esp+xxx], xxx) instead of (pop | push), which sucks more than MSVC's
stupid inline assembly. I'm aware of -mno-accumulate-outgoing-args (which
worked for gcc prior to 4.8.x), but with this switch enabled, the gcc's
output sucks further more.
Use only one copy of CRC functions.
Minor Optimizations
Optimizations to reduce ZOPFLI_APPEND_DATA overhead
Minor optimization and fixes
Remove use of float - 1. Some other optimizations.
Minor optimizations on squeeze.c.
Remove float - 2. (As a complement to remove float - 1)
Temp var to reduce float calculations needed
Inline assembly for GetCostStat