Prototype of deeper integration with the sources

Surround the generated FSM code fragments in special markers as to allow
update (not complete overwrite) of the previously generated source code.
That way, user can modify, add something or rearrange or duplicate the
generated items in the code and on next run fsm-builder would preserve
the changes, by updating only the parts of the code which are generated.

Process:
- After reading the FSM, try to identify the files to be generated.
- Read the files into the memory, if any.
  Cut the generated code out (whatever is between markers).
- If the files were not found, fill in from the defaults.
- Rename old files to .bak
- Write files back to disk:
    Pass through the user lines unchanged;
    Generate the source line for FSM anew.

Example:

$ ./fsm-builder.pl ./test00.fsm
$ ls xxx.*
xxx.c  xxx.h
$ <edit the xxx.* files; add something between the markers>
$ ./fsm-builder.pl ./test00.fsm
$ ls xxx.*
xxx.c  xxx.c.bak  xxx.h  xxx.h.bak
$ diff xxx.h{.bak,}; diff xxx.c{.bak,}
<only timestamp differs>