The Strange Odyssey of Software Interfaces and Intellectual Property Law