Convert eldoc middleware into a separate op of the info middleware

They share quite a bit of code, so this makes more sense.