Bug 1100945: adding a PasscodeHelper

This should do as an initial draft.
Looking forward to any kinds of feedback, especially lines 70-73 and 88-100. :)
Please note your 'this' is very ambiguous. From your code I feel this component should be a stateless helper (which a good helper should be), but according to this and other lines you looks like want to store and read some states/methods from the helper. If so, I suggest you turn the literal object style into a constructor-prototype structure, which can be instantiated properly. We've had some tearing experiences against the stateful literal object at using, debugging and testing, and finally we decide to deprecate it.