Added the expression parser and moved layout into its own package.