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

*(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)*