Migrates layman-overlay-maker code to maker.py

This migration also includes changing the coding style from
procedural to object oriented.
layman-overlay-maker: Adds comment code to look pretty
maker.py: Improves component gathering logic

Also moves update_required() to the __call__ function.
layman-overlay-maker: Adds keyboard interrupt handling
{constants, maker}.py: Moves overlay component constants
maker.py: Implements getattr to get overlay info