MD5 Javascript implementation from Paul Johnston, wrapped in an object with public API.