Refactor main.js

主に UIへ副作用を及ぼす関数を commands.js への分割(あとでさらに分割)
pin と finder を モデルへ

大規模でコミット汚くなった結果、全部rebaseしました