BREAKING CHANGE: replae `watch(fn, options?)` with `watchEffect`
The `watch(fn, options?)` signature has been replaced by the new
`watchEffect` API, which has the same usage and behavior. `watch`
now only supports the `watch(source, cb, options?)` signautre.
* test: add test case for declaring Array prop type with constructor casting in `createComponent`
* test: add test case for `setup(props)` with explicit props declaration