I haven't taught calculus in a while and looking back, implicit differentiation is one of the (many) topics that I think I could have taught better. If I was teaching it now I would emphasize that the derivative is a local property, and show how by zooming in on a point on the graph we can find a region where $y$ is a function of $x$ (except when we can't, and maybe the students can see when that happens). Let's call this function $g$.
Then, using your example, I would rewrite $x+xy+y^2=7$ as $x+xg(x)+g(x)^2=7$, and emphasize that it holds locally. The right hand sideSince $x+xg(x)+g(x)^2$ is a function of $x$ and it's constant function in our little region, so its derivative is zero there. Now we just use basic differentiation rules to get an expression for $g'$, and thus the tangent line.