remove shallow/deep options & tidy up part 1
refactor extend visitor to be more readable and maintainable
refactor mixin call arguments into a seperate function
correct bad test txt
Fix default variables containing comma when semi-colon seperated mixin definition. Fixes #1211