Renamed class/protocol, added support for multiple passcodes and delegates

Changes:
- Renamed class and protocol
- Added support for multiple delegates
- Accepts multiple passcodes (using LibPassDelegate, so something like TimePasscode is theoretically possible to implement with LibPassword now)