Add Functor instance for Push arrays.
Translation using unboxed tuples and primitive types.
Changed heuristics for CSE.
Merge bit-level operations and new translation.

Conflicts:
	Core.hs
	FOASTyped.hs
	HOAS.hs