autofill: make end-of-pattern optional

When given a URL like "https://example.com", we look for
end-of-string, "/", or "?" at the end to avoid mismatching
"https://example.com.other.domain". However, if the URL we
get already has a delimiting character like "/", we can just
leave it be.

This would be much simpler if just matched the domain part
by itself, but I actually have some cases that differentiate
based on the path. That may not be worth supporting, though
(existing password managers usually don't).
autofill: use DOM.XPath

Early versions of the pentadactyl plugin used
util.evaluatXPath, which is deprecated. I tried to address
that when making the last commit, but ended up with
DOM.evaluateXPath, which does not even exist! Use the
correct name.
autofill: match password fields more liberally

Some sites will just call this "pass", so let's match that.
At the same time, let's actually make sure it's a
password-type field, which will reduce false positives.
autofill: focus elements before setting their value

Some sites will put a default value into a form field (like
the word "Username"), and then clear it when the field is
focused. We can more accurately simulate a real user by
"fake" focusing the elements.