Added
 * multiple views per segment, based on the dependencies
 * support for ng-if, ng-switch and other directives based on the transclusion
 * scope-based segment names

Example:
Routes:
```javascript
$routeSegmentProvider
    .when('/page', 'page')
    .when('/page/:view1,:view2', 'page.view')
    .when('/page/:view1', 'page.view')
    .segment('page', {
        redirectTo: '/page/main',
        templateUrl : '/views/layout/page.html',
        controller  : 'PageCtrl'
    })
    .within()
        .segment('view', {
            dependencies : ['view1', 'view2'],
            templateUrl : {
                main  : '/views/page/main.html',
                other : '/views/page/other.html',
                more  : '/views/more.html'
            },
            controller  : {
                main  : 'MainCtrl',
                other : 'TextCtrl',
                more  : 'ChartCtrl'
            }
        });
```
View:
```html
<div class="page"
 <div class="view" ng-class="{left: isDouble(), main: isSingle()}">
  <div class="content" app-view-segment="segment1"></div>
 </div>
 <div class="right view" ng-if="isDouble()">
  <div class="frame" app-view-segment="segment2"></div>
 </div>
</div>
```
Controller:
```javascript
function($rootScope, $scope, $location, $routeSegment, $routeParams, $animate) {
  $scope.$watch(function () {return $routeParams}, function (n, o) {
    $scope.$windowMode = (n.window1 && n.window2) ? 2 : 1;
  }, true);

  $scope.segment1 = '1.view1';
  $scope.segment2 = '1.view2';

  /**
   *  @return {Boolean} - true if only one window is enabled
   */
  $scope.isSingle = function isSingle () {
    return $scope.$windowMode == 1;
  }

  /**
   *  @return {Boolean} - true if two windows are enabled
   */
  $scope.isDouble = function isDouble () {
    return $scope.$windowMode == 2;
  }
}
```