cangjie: Allow using space for page-down

The space key ca be used for page-down if there is more than one page of
candidates, even in Cangjie.
quick: Slightly change some code

As it turns out, the new condition is a superset of the other:
  - if there is only one inputted char, then there is no candidates
  - there could be two inputted chars but no candidates

In the second (newly handled) case, it in fact makes sense to have the
space key try to get candidates, as it will provide feedback (the error
bell) to the user.
quick: Slightly change some code

There is no need for this "else" condition here, if we got here, we're
in the last case anyway.
Move the do_space function to the parent Engine class

Now that we fixed the behaviour of Cangjie and slightly changed the code
for Quick, it turns out that both engines need exactly the same code. :)