Prompt: Replaced 'read' with high-level 'prompt' library

/ref #199 

This changes the prompt API slightly and adds the following features:

- `grunt-init` style coloring
- `default` can be a function (in preperation of "magic defaults")
- if `default` is a boolean, it will display a 'y/n' prompt with proper
      validation
- validations occurs after a value is entered and not after the whole wizard
      completed

**Watch it in action:** http://ascii.io/a/2855

*(I actually opened a new PR instead of continuing #198, but this has nothing to do anymore with filters, so I feel this is justified. :P)*