Added support for functions

```js
// direct function
{
	fn: function(){
		return 'barbershop';
	}
}

// nested function
{
	foo: {
		fn: function(){
			return 'barbershop';
		}
	}
}

// reference to function
{
	fn: function(){
		return 'barbershop';
	},
	ref: "fn()"
}

// nested reference to function
{
	fn: function(){
		return 'barbershop';
	},
	tag: {
		ref: "fn()"
	}
}

// nested reference to nested function
{
	nested: {
		fn: function(){
			return 'barbershop';
		}
	},
	tag: {
		ref: "nested.fn()"
	}
}
```