choose unique name for type state

it makes possible to define several machines in one source file
support -G1
update command-line synopsis
ocaml: fix missing semicolon