Move helper functions in main() to anon. namespace
Use float literals in level_display.cpp

... to avoid a bunch of "implicit narrowing conversion" warnings and for
consistency.
Update glew.
Excise more warnings

Mostly explicit C++-style casts, mostly numeric, and deleted the names
of the rest of the unused parameters.
Silence no-virtual-destructor warning in level_map
Remove most statics with destructors
Add FIXME in level_display about dragging npcs.
Add non-inline virtual funcs to polymorphic types

... mostly in the form of adding explicit virtual non-inlined empty
destructors. This silences the warnings from clang's -Wweak-vtables.

If a class is polymorphic and thus requires a vtable but has no
non-inline virtual member functions, the vtable itself is emitted in
every translation unit that sees the class definition. This doesn't
really *break* anything, but the poor linker has deduplicate them
eventually, and it seems like good form to avoid that.

llvm forbids these weak vtable symbols in its coding standards out of
concern for their link times:

http://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers