feat($compile): add notIsolated to directive definition to allow prototypally inherited scopes

We must have isolate scopes that aren't actually prototypally isolated if Angular is to be capable
of transcluding directives with scope attributes that transclude their content into the transcluded
content of another directive also with scope attributes.

Consider two directives, fixedProportionDiv, and dialog. The dialog directive has two scope
attributes, shown: '=' and title: '@', and the fixedProportionDiv directive has two scope
attributes, ratioWidth: '@' and ratioHeight: '@'. It shouldn't be awkward for developers to use
these directives by having both be transclude: true, having dialog's template transclude its content
into the transcluded content of the fixedProportionDiv like so (for instance):

<div>
	<!-- DialogController is an object placed on the $scope that has the current $scope on it. -->
	<div
		ng-if ="DialogController.$scope.shown"
		class ="fixed whole-width whole-height overflow-scroll"
	>

		<div
			class="absolute whole-width whole-height sheer"
		></div>

		<div class="margin rounded coloring no-overflow">

			<h1>
				{{ title }}
				<!-- Here, the x button when clicked will set the two-way bound shown to false -->
				<span
					class    ="fa fa-times right"
					ng-click ="DialogController.$scope.shown = false"
				></span>
			</h1>

			<fixed-proportion-div
				ratio-width  ="16"
				ratio-height ="9"
			>
				<div
					ng-transclude
					class ="clearfix"
				></div>
			</fixed-proportion-div>
		</div>

	</div>
</div>

Where the fixedProportionDiv's template is like so:

<div
	class    ="relative"
	ng-style ="{ 'padding-top': ratioHeight / ratioWidth }"
>
	<div
		ng-transclude
		class ="absolute whole-width whole-height"
	></div>
</div>

Basically, without being able to make dialog a notIsolated directive, I'd have to basically
implement the '=' shown and '@' title scope attributes for myself. Because, the fixedProportionDiv
being a transcluding directive means the content transcluded into it will be bound to the parent
scope, which is the dialog directive's isolated scope. Since the dialog's scope is isolated, I have
to literally implement those scope attributes myself using $attrs just to avoid having an isolate
scope. So, instead of restricting developers from making these kinds of directives easily, I suggest
simply adding another field to the directive definition object, much like restrict or transclude,
called notIsolated, which will simply result in a new scope for the directive with all the declared
scope attributes that just isn't prototypally isolated from its parent.