Add reencode function in Python binding

This is a squashed commit for #1563 since GitHub currently cannot change PR branch.

(Copy-n-paste messages below:)
Now I implemented `reencode` method in Font object, and it passes two arguments: encoding and force encode (optional), similar to fontforge script.  The `encoding` setter is still available in order not to break the existing script.