ENH : special case ufuncs

ufuncs (np.sin, np.log, ...) are not actually functions, they are
instances of the ufunc class which are callable.  They do not support
unpacking dictionaries in to keywords so we need to collect (in the
correct order) the args and unpack them from a tuple.