Make the deferred backend a package variable

Module authors should not care which event loop is in use. They should
just use the Promises module directly:

    package MyClass;
    use Promises qw(deferred collect)

The end use should specify their preferred event loop once at the start
of their application:

    use Promises -backend => ['AE'];
    use MyClass;

See #8