Add 'combine_by_group' option

Thanks for this excellent package. One problem we ran into was that we had a few distinct areas of our application that needed different asset groups. But, we also wanted to take advantage of the `combine` option. As it is now, this creates one single combined file for the entire application, including all groups. This commit introduces an opt-in option that will rendered the combined assets by group instead.

Old behavior:

```php
Asset::register(
	array(
		'css/core/reset.css',
		'css/core/style.less',
	), array('group' => 'core')
);

Asset::register(
	array(
		'css/core/reset.css',
		'css/site/style.less',
	), array('group' => 'site')
);

Asset::styles('core');
 // <link href="https://example.com/assets/application.css?aFvF4eK2kG" media="all" type="text/css" rel="stylesheet">

Asset::styles('site');
 // <link href="https://example.com/assets/application.css?aFvF4eK2kG" media="all" type="text/css" rel="stylesheet">
```

The rendered combined style would only include the last group (`site` in this case).

New behavior:

```php
Asset::register(
	array(
		'css/core/reset.css',
		'css/core/style.less',
	), array('group' => 'core')
);

Asset::register(
	array(
		'css/core/reset.css',
		'css/site/style.less',
	), array('group' => 'site')
);

Asset::styles('core');
 // <link href="https://example.com/assets/core/application.css?aFvF4eK2kG" media="all" type="text/css" rel="stylesheet">

Asset::styles('site');
 // <link href="https://example.com/assets/site/application.css?aFvF4eK2kG" media="all" type="text/css" rel="stylesheet">
```