Faster implementation of filter. Leaving old method for performance testing

This implementation improves performance a lot, although is not as faster as Sizzle.filter used by jQuery. Fixes issue #177 

It tries to perform better in loops, specially decreasing time when creating ghost parents.

I have used Julien's test example for measuring times.
https://github.com/manolo/testissue146/commits/master
This line is the same, and the performance problem is here.

If you has a DOM like body>div>div>table>tr>td>span[data-tooltip=hello] and you are using this $("[data-tooltip]").live("click", callback), you may expect than any click will be evaluated one time on each element of the hierarchy, i.e. body, div, div, table, etc. checking if the element has the attribute data-tooltip. The problem is that this parentElement call forces the evaluation of all childs of the parent of each element in the hierarchy, so to check if the first div is selected this code evaluates all childs of the body, for the second div all childs of the first div, etc. And the critical problem occurs when one element in the hierarchy has lot of childs, which is common in tables and list elements.