Better type & delegate printing

Prints the names of delegates in a better way, and handles generic types along with 'bool' and 'void':

	foo(x)
	|   '
	|   delegate Action<string>, type: void (string)
	delegate Func<Action<string>, bool>, type: bool (Action<string>)

The existing sample prints like:

	f.Compile()(a, x) == 5.678
	' '         '  '  |
	' |         '  '  |
	| |         |  |  False
	| |         |  1.234
	| |         11
	| delegate Func<int, double, double>, type: double (Closure, int, double)
	(A, X) => (Convert(A) * Log(X))