Created originally on Bitbucket by mattip
rework to handle unicode/CWCHARP and W - suffix for windows api functions
Tests pass and it translates, is the code clean enough to merge? There is much boilerplate around converting w_unicode -> unicode -> CWCHARP -> CCHARP but because of buffer allocations I couldn't think of a way around it all