A reusable virtual keyboard plugin in JavaScript