use a snapshot for animation

the performance seems much better
use auto layout for webview