First fully functional version

Added scoping to allow correct conversion of parameters.
Added flags for the properties of variables (e.g. static, private) to
allow correct generation of variable names.
Added separate ConverterStates for variables in global, class or
function scopes.