Will return an object that at least have a "left" and a "top" property. If the getBoundingClientRect method is present, the position will be relative to the viewpoint, otherwise it will be absolute, so the results will only coincide if the viewport is 0,0 (initial page load should suffice). In some circumstances, the fallback will be imprecise, but you can only do so much with 138 bytes.
Thanks to @jbebe for inspiring me to the recursive approach and to @jed for having this funny little challenge with me.
If you want to account for the viewport position, use the rather longer variant: