Change legend and handle fill and alpha mapping

- legends are no longer added to ggplot object
- fill aesthetic mapping implemented
- alpha aesthetic mapping implemented
- moved legend code from ggplot.py to legend.py
- ':::*_mapping:::' hack to avoid collisions