make isEmpty an accessor so it reacts to value mutations
See test for details
test('isEmpty reacts to value changes', async (assert) => {
const state = promistate(() => [], { defaultValue: [1] })
assert.isFalse(state.isEmpty)
state.value = []
assert.isTrue(state.isEmpty)
})