Today, Google Chrome (the world's second largest browser) got all of these APIs and more (except WebRTC, but it's in the dev build, so it will soon be here too). Chrome even have it's own built-in appstore (Chrome Web Store) where users can install extension/apps, without having to restart their browser.
Another approach to get Spotify to the web is to use Native Client (NaCl) to compile C/C++ code for the web. An example is the game Bastion that was compiled with NaCl to run in Chrome.
This would be the easiest way for the Spotify developers, as they only had to tweak their code very little to make it compile with NaCl.
( Offtopic: I made a chrome extension for Spotify, which convert spotify links to links with mouseover info, for example image of the album, artist name, title of track, popularity. Get it HERE. Thank you :] )
end-user should be able to create TAGS for songs. include standard tags like "rock" and "soul", but allow the user to create their own tags, and use this as cross-referenced information to organize not only the user's own music collection, but also to match characteristics of other users' music or playlists. user-created tags would allow Spotify to recommend more musically accurate songs, as the characteristics and style of the songs have been peer-reviewed. it's no secret that Spotify radio is weak. Utilize the social network of Spotify by tapping into the users' knowledge and experience of music.
Please bear in mind that the Community is not an official Spotify support service. It's a place where we all help each other, whether we work for Spotify or not. So please use your discretion when using the forum.