function validateArguments (targets, callback) {
    const nodes = Object.prototype.toString.call(targets)
    const targetsValid = typeof targets === 'string' || ((nodes === '[object NodeList]' || nodes === '[object HTMLCollection]') || targets.nodeType === 1)
    const callbackValid = typeof callback === 'function'

    if (!targetsValid) console.error('Countable: Not a valid target')
    if (!callbackValid) console.error('Countable: Not a valid callback function')

    return targetsValid && callbackValid
  }
`validateArguments` validates the arguments given to each function call.
Errors are logged to the console as warnings, but Countable fails
silently.

@private

@param   {Nodes|String}  targets   A (collection of) element(s) or a single
                                   string to validate.

@param   {Function}      callback  The callback function to validate.

@return  {Boolean}       Returns whether all arguments are valid.