Implement very simple anonymous enumerations.

  Full implementation should consist of named and typed enumerations,
as well as proper type checking whenever they are used.
  For the moment they are expected to be used only to create namespace
specific constants.
Correct function and builtin flags under a new namespace.

  Some function flags were incorrect and builtins were not properly
being added to the current namespace.
Add a simple sdl builtin interface to the language.

  For the moment this is optional, e.g. SDL2 is not available in all
distros, and sometimes (some SDL2 components) not even in the latest
bleeding edge of a distro.
  The test/sdl file is a small test where one can move the ball with
the left mouse button pressed, or with keyboard direction keys; escape
or closing the window finishes it.
  This initial interface takes advantage of the new namespace and enum
language features to protect everything under the "sdl" namespace.
  Note that most sdl symbols were renamed in the language version to
omit the SDL_ prefix (need to use sdl.) and enums and defines instead
of all caps were renamed to use CamelCase, and function names and types
to lower_case.
  The event structure is quite different, due to language (on purpose)
limitations of not using unions and not a good idea to create a class
field for every event_t member (what would also mean an extra
dereference when accessing fields).
  Another difference is that timers use an special event type, so,
it is required to listen to events to handle timers.