fix(compiler-core/v-on): only cache empty handler when the option is used
fix #1716
The original idea is that the empty handler can be cached in all cases,
but this contradicts with the assumption that `hasCachedProps` check in
the static hoist transform can simply return `false` in the browser
build.