hconcat moves common factors into the new column
fix transpose
add more context to LiSystem.

This lets things like the following work:

> putStrLn $ case pendulum of LiSystem _ a b c d -> show a

Maybe GADT is the wrong way to express LiSystem?
more constraints on LiSystem

Looks like GADT is the wrong approach, since we still
can't define very useful operations on LiSystem
Modified example to use new LiSystem type.