Split a library out of the executable.

Start to write Proof applying some of the maturity you've obtained since
Proof began.

Closes #220.
Release 0.0.45.

Closes #221.