Add mixin functionality

I've added Jade-style mixin functionality:
```
mixin input($id, $label, $type)
	label[for=$id] #{$label}
	input[id=$id][type=$type]
!!! 5
html
	body
		form
			+input("name", "Enter your name", "text")
			+input("occupation", "Enter your occupation", "text")
```
compiles to:
```html
<!DOCTYPE html>
<html>
	<body>
		<form>{{$id := "name"}}{{$label := "Enter your name"}}{{$type := "text"}}
			<label for="{{$id}}">{{$label}}</label>
			<input id="{{$id}}" type="{{$type}}" />{{$id := "occupation"}}{{$label := "Enter your occupation"}}{{$type := "text"}}
			<label for="{{$id}}">{{$label}}</label>
			<input id="{{$id}}" type="{{$type}}" />
		</form>
	</body>
</html>
```
which executes to:
```html
<!DOCTYPE html>
<html>
	<body>
		<form>
			<label for="name">Enter your name</label>
			<input id="name" type="text" />
			<label for="occupation">Enter your occupation</label>
			<input id="occupation" type="text" />
		</form>
	</body>
</html>
```
Template data, variables, expressions, etc., can also be passed to the mixin:
```
+input(SomeId, $someLabel, "te" + "xt")
```
Let me know what you think or if anything is buggy. Thanks for the good work with Amber.