Add width method, function pointer type
Add method prototypes, function definitions always return i1
Add documentation on input modes
Add phases.rst