Something I've definitely thought about. The slowness is due to a number of factors: Size of your game list, implementation in AppleScript (which seems slow to handle XML), internet connectivity, etc. One of these (AppleScript) can likely be dealt with, but I need to do some testing on best possible implementations.
If it sticks at "Doing stuff" it's likely that the XML output from steam community barfed and returned an empty list. This appears to happen from time to time and I never built in validation to ignore or retry if that did happen.
I don't know of any way to do this today. I've looked into how games are stored on your local hard drive, but right now even offering that filtering would slow things down a lot. Just Mac games doesn't seem possible to be honest, but definitely something I've very interested in figuring out a way to do. Steam doesn't appear to offer an easy way to do this when retrieving your game list, so it would require an extra lookup for every game in your list and some serious HTML manipulation. So, I've left that out, we'll see how things go.
Steam does have a newer API that may be usable, but would require OAuth and a potentially a complete re-write. May still be worth it if it offers better performance or more information.