path_parser: moveto(): Distinguish between EOF and an unexpected token
path_parser: moveto(): Distinguish between EOF and an unexpected token

The M/m commands are special, because the beginning of the path
string *must* have one of them.  So, our moveto() has a different
signature from e.g. line_to():

- moveto() -> Result<(), ParseError> - means "parsed a Moveto or error"

- line_to() -> Result<bool, ParseError> - means "found/didn't find a Lineto, or error"

The functions which can look for optional commands (line_to(),
curve_to(), etc.) return a bool in the Ok() case, to indicate whether
they actually found their respective command.  Since the moveto() is
not optional, it returns Ok(()), not Ok(bool).

GNOME/librsvg,GNOME/librsvg,GNOME/librsvg,GNOME/librsvg