update from teambition

1. 隐藏 Pen 所有的私有方法，通过闭包函数实现私有方法；
2. 完善事件机制，destroy/rebuild 不再产生内存泄露；
3. 优化 menu 激活机制；
4. 增加标签、属性黑名单，可以自动清理黑名单的标签、属性；
5. 增加 change 事件，监听编辑器内容变化；
6. 增加 placeholder；
7. 增加多个使用方法；

具体见下面代码解释。
永远保存最后一次光标位置，执行 `document.execCommand` 命令会用到