Add stricter destructured object/array patterns

Previously they looked for an end pattern of either } or ]
causing incorrect highlighting when both {} and [] were used
on the same line.

Closes #15