capture groups: Allowing to run a fn on a capture

This will allow you to define more complicated logic based on different
sources.

The interface is the same however it can now be used as so:

//Captured is called for each capturing group
streamGrep(fs.createReadStream(__filename), [/create/], function (value) {
  if (value) return true
  return false
}).on('captured', function (term, line) {
    console.log('Found', term, 'line', line)
  })
  .on('end', function(found) {
    console.log('Terms found', found)
  })
Merge pull request #1 from tomgco/feature/capture-groups

capture groups: Allowing to run a fn on a capture