Split functionality into different modules

Instead of adding `has_guise?` and derivative methods to all
`ActiveRecord::Base` subclasses, add them when calling `has_guises`.

Store configuration on `Guise` module instead of on the class to avoid
expensive `Object.const_get` and as a way of reducing the responsibility
of the class calling `has_guises`.
Update README