Adding support for InfoBubble: a more customizable infowindow.

Tests are broken due to "Infobubble is not defined", please advice how to handle this.
Currently doesn't work with "Controller As" syntax, would love to get help to fix this
There's a quirk with only the first bubble being hidden on start, hence the need for HasMapMenuBeenOpened

Usage:
<div ng-controller="MapCtrl">
    <div ui-map-info-bubble="MapMenu" ui-options="MapMenuOptions">
        <div class="mapMenu">
            <div ng-controller="MapMenuCtrl" ng-show="HasMapMenuBeenOpened">
                <div ng-click="AddLocation()">Add Location</div>
            </div>
        </div>
    </div>
    <div id="map_canvas" ui-map="MyMap" class="map"
        ui-event="{ 'map-click':'OpenMapMenu($event.latLng)'   }">
    </div>
</div>

$scope.OpenMapMenu = function (latLng) {
            $scope.HasMapMenuBeenOpened = true;
           
            var marker = new google.maps.Marker({
                map: $scope.MyMap,
                position: latLng,
                icon: '/Content/Images/Markers/Empty.png'
            });

            $scope.MapMenu.open($scope.MyMap, marker);
        };