building.markdown: remove dependency install info

Too much effort to keep these up to date for all supported platforms.
Clean up Markdown documents
readme.markdown: add link to build instructions
readme.markdown: update screenshot
readme.markdown: link to license.markdown
effect: use map instead of unordered_map

This removes the need to specify a custom hash implementation for
std::pair<std::string, std::string>.
assemblages: don't repeat default parameters
Improve class names

components::model → components::model_renderer
systems::model_system → systems::model_renderer
systems::render_system → systems::renderer
readme.markdown: add features and roadmap
readme.markdown: update roadmap
window: replace raw pointers with smart pointers
files: replace raw pointers with smart pointers
event: add operator== and operator!=
event: delete move and copy constructors
event: remove unused code
graphics: add Source Sans Pro as a default font
graphics: add font class

This also adds a dependency against SDL2_ttf.
graphics: add text_renderer component
graphics: fix text_renderer to inherit component
graphics: add text_renderer assemblage