chore(package.json): add grunt-contrib-uglify dependency
chore(less): apply minification with sourcemaps

As we (probably) could not live with 2 sourcemaps (one for
each .css output file), the sourcemap has been moved, for now,
 to the minified file.
chore(uglify): create uglify task
chore(banners): create .txt banners for js and css

As CSS output requires a bit more in its banner (because we
include normalize.css), the banners are split into 2, one for
js and the other for css dist files.
chore(concat): rework all concat targets

Now, as we have banners to apply to the dist files, we'll do so
in the concat  task. They'll be applied to both uncompressed
and compressed css and js files.

Note that there are separated targets for applying banners and
creating the concatenated .js files.
chore(task aliases): improve tasks modularization

With the recent addition of minification, the package alias was
growing up quickly. To avoid it to become a big monolithic
 alias, it was broken up into smaller aliases, one for each type
 of asset we handle: js, css and fonts.
chore(watch): handle minifying/bannering dist files

With the recent addition of minification and bannering into
the dist files, the watch tasks should be prepared to handle
those cases.
This way, I replaced a few callback tasks with the new (and
more powerful) aliases js, css and fonts.