Add a region component

This patch adds a pixman_region like component in the utility components
of FreeRdp.
The data structure is exactly the same as in pixman_region but the implementation
differs as we need fewer methods.
The patch contains the corresponding unitary tests.
Fix remoteFx encoder with topleft and bottomright rectangle

This patch fixes the case where with a topleft and a bottomright
rectangle, the encoder would send the full screen instead of only the
intersected tiles.
Some fixes after Norbert code review

There were a bug when the rectangles extents where not at the origin.
Some debugging statement have laso been removed.
Fixes before pullreq

Replaced zmalloc by calloc.
Moved region from utils to codec.
Fixed some typo and corner cases.
Fixes in intersection + checks

Fix a bug in the extents of an intersection.
Add some checks and assert that helps when using the remoteFx encoder.
A speedup for intersection when bands are above the target rect.
wfreerdp: fix gdi polyline mistake.
libfreerdp-channels: start consolidating channels client code with core
drdynvc: fix free invalid pointer.
wfreerdp: add winmm audin subsystem.
Merge pull request #1687 from zhangzl2013/audin-winmm

add winmm audin subsystem
Merge pull request #1686 from zhangzl2013/wfreerdp-bugfix

wfreerdp: fix gdi polyline mistake.
libfreerdp-core: move client channels code to separate file
drive: minor code formatting.
drive: win: fix file open flag.
drive: win: add 64 bits support.
drive: win: add file rename support.
Merge pull request #1689 from zhangzl2013/drive

Drive channel fix on windows
xfreerdp: Fix disappearing rail windows.

Rail windows currently disappear on resize and on implicit resize
(calc changing view type from standard to scientific).

The bitmask that we send to XCreateWindow() must match the actual
attributes that we are sending (see xf_create_window()).
Because of this we were unintentionally zeroing out some of the
window attributes rather than using their default values.
winpr: fixed problems Set/GetEnvironmentVariableEBA

* valgrind: fixed invalid read
* invalid or damaged environment blocked caused endless loop
* envblock created in SetEnvironmentVariableEBA lacked a trailing '\0'
  which could lead to a damaged environment block
winpr: add cwd support in CreateProcess*