Made abilities clonable.

Previously, all bosses of the same type with shared abilities or bosses
in the same world with shared abilities would use the same instance of
the ability. This could lead to (potential) conflicts with, for example,
the Snare ability. Now, when an ability is assigned, it is done by using
ability.clone() which gives a new instance of the ability with the exact
same settings.