Count tweet characters correctly

URL部分に関してツイート文字数を可能な限り正しく数えるようにしてみました。
Unicode の合成文字とかには対応してません(する予定もなし)。
本当はsayバッファ内でURLをハイライトしようかとも思ったんですが、コードを見ると分かる通り単純な正規表現だけではないので、正確なハイライトは難しそうです。正確ではないハイライトはそのうちやりたいと思います。