Add a settings system

It is used to enable and configure the effects for now, but it will
be used for other things too. It can (and will) be easily exposed
though some protocol to the shell client.