Issue 2939: Fix relations between \maininput, EOF and safe mode
In lexer.ll, assumptions about the depth of include_stack_ were hardwired
that only were valid for parsers started from the normal chain of input.
One consequence was that something like
#{ \book { \include "line-arrows.ly" } #}
worked even in safe mode (where \include should be prohibited) but
might complain about unexpected EOF. This commit adds a member
variable main_input_level to Lily_lexer for keeping track of when to
drop restrictions and deliver EOF in each parser separately.