Fix cloning of KeyboardDescriptions

Each subclass needs to override Clone() so that the clone gets the
correct type. Otherwise the keyboards might not work as expected.

Change-Id: Iaf23b979ca39927d3a0532b28522f6df8dc9efe3