Change padding behavior for small  windows + Add a third theme option

Change 1
--
I don't if the current behavior of the padding was intended, but this is how it behaves on my OS X 10.10:

![promptastic_current](https://cloud.githubusercontent.com/assets/2653546/5519302/710504d8-8901-11e4-9d51-81c74abd2196.png)

If `padding > cols` the padding fills a second line entirely.

This is because _padding dimension formula_ isn't working as intended. As a result, the condition `if padding_len == cols` is never met. This pull request fixes it and the behavior becomes like the image below:

![promptastic_new](https://cloud.githubusercontent.com/assets/2653546/5519315/2961def2-8902-11e4-9324-8efe7b3150a9.png)

Notice that if `padding_len > cols` there is a wrapping effect (I don't know if that is intended).

Change 2
--
Add a third theme called `contrast.py` (used in the printscreens above) with minor changes to `default.py`