Support callback array syntax in CallbackPromise

As reported in #63, trying to use CallbackPromise with an array will fail because it is assumed that all callbacks are either strings or closures.

This change adds a small check around the relevant logic to skip the closure-specific logic when the provided callback is an array (of any kind, no further checking is done).