Shutdown phantomjs process on spider close event

For some reason I haven't been able to figure out, the engine_stopped
signal is not being triggered for WebdriverManager, which leads to
orphan phantomjs processes after the spider finishes crawling. This
happens both with interactive scrapy runs, as well as with scrapyd.

This is now fixed by hooking up the cleanup method to the spider_closed
event (and doing so in __init__), with the drawback that there is no
reuse of existing phantomjs processes, and a new one will be started for
each spider run. Orphan processes are a far worse situation than the
small performance hit of restarting phantomjs for each spider.