change history UI. ref #284
use history.pushState. close #315