Simple Angular mask directive
This directive does not create it's own value accessor - it simply reuses whatever element is using already and just hooks in.
Also it is fully abstracted off of the HTML implementation and so can be safely used in WebWorker and server side environment.