Rename class "Video" to "Screen"

It matches the file name.
Initialize screen and load images in main()

Since they are now declared in main(), not class Game.

Changes:
 - Remove screen's dependency on stdlib.  Don't call atexit() and exit().
 - Call SDL_Quit in ~Screen() instead of using atexit().
 - Add return statement at end of Screen::init().
 - Screen::set_video_mode() returns success or failure.
 - Move Screen::set_video_mode ahead of Screen::set_image_lib since it is
   called earlier.
game_entity: Specify bit widths for small variables

Based on actual game usage:
|position| is from 0-59   => 6 bits needed
|image_num| is from 0-7   => 3 bits needed
|type| is from 0-10       => 4 bits needed

Note that if the game usage were to change, these bit fields would have to
be increased or could be decreased.

Current stats on AVR:
Game data: 3257 -> 2533 bytes
Game entity; 17 -> 13 bytes
game_entity: specify bit widths for per-type data

Be explicit about storage requirements.
Also changed some ints to uint8_t's.

Memory requirements for all per-type data:  396 -> 330 bytes
game: initialize height of shield piece

Forgot to initialize it in an earlier change.