Important control characters aren't rendered when "editor.renderControlCharacters" is set, possibly leading users astray
Issue Type: <b>Bug</b>

### Problem

Imagine you're looking at some code in VS Code:

```
function transferBalance(sender_id, recipient_id, amount, currency) { ⋯ }

transferBalance(5678,‮6776,4321‬,"USD");
```

Ostensibly, this transfers 6,776 USD from sender 5678 to recipient 1234. Right?

Unfortunately, no. Instead, this code hides malicious intent: **it actually transfers 4,321 USD from sender 5678 to recipient 6776**, stealing sender 5678's money. How is this possible?

### Explanation

It's because this code is hiding two special Unicode control characters: U+202E ("right-to-left override") and U+202C ("pop directional formatting"). With explicit insertions, it looks like this:

```
                             malicious!
                             ▼▼▼▼▼▼▼▼▼
transferBalance(5678,<U+202E>6776,4321<U+202C>,"USD");
                     ▲▲▲▲▲▲▲▲         ▲▲▲▲▲▲▲▲
                     🕵sneaky!        🕵sneaky!
```

In other words, this gives the code the _visual appearance_ of sending 6776 USD to recipient 1234, but that's not what the _actual underlying text_ says; it says to transfer 4,321 USD to recipient 6776. Our editor — what we trust to show us text correctly — has led us into the wrong conclusion.

We can see that the actual bytes of the string in the code example do indeed have these control characters:

![Screenshot from 2021-02-18 06-07-48](https://user-images.githubusercontent.com/57813/108348375-b6802900-71af-11eb-8b08-7d27fa1d522f.png)

Normally the way around this sort of sneakiness is to use `View > Show Control Characters`. But if you copy the string from the example into VS Code, you won't see these control characters. They aren't rendered at all. How can we make sure these special characters get rendered?

### Likely root cause

The bug is in `src/vs/editor/common/viewLayout/viewLineRenderer.ts`: it assumes a definition of "control character" that amounts to "anything whose character code as determined by [`String.charCodeAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt) is in the range U+0000⋯U+001F".

https://github.com/microsoft/vscode/blob/main/src/vs/editor/common/viewLayout/viewLineRenderer.ts#L960-L961

That assumption is incorrect, or at least too narrow to cover this case.

### A possible fix

The right definition for control character for purposes of VS Code is probably, at a minimum, "anything in the `Cc` and `Cf` [Unicode general categories](https://en.wikipedia.org/wiki/Unicode_character_property#General_Category)", and not the current definition.

<hr>

VS Code version: VSCodium 1.52.1 (ea3859d4ba2f3e577a159bc91e3074c5d85c0523, 2020-12-17T00:37:39.556Z)
OS version: Linux x64 5.8.0-7642-generic

<details>
<summary>System Info</summary>

|Item|Value|
|---|---|
|CPUs|Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 4000)|
|GPU Status|2d_canvas: enabled<br>flash_3d: enabled<br>flash_stage3d: enabled<br>flash_stage3d_baseline: enabled<br>gpu_compositing: enabled<br>multiple_raster_threads: enabled_on<br>oop_rasterization: disabled_off<br>opengl: enabled_on<br>protected_video_decode: unavailable_off<br>rasterization: disabled_software<br>skia_renderer: enabled_on<br>video_decode: unavailable_off<br>vulkan: disabled_off<br>webgl: enabled<br>webgl2: enabled|
|Load (avg)|2, 1, 2|
|Memory (System)|62.53GB (8.13GB free)|
|Process Argv|--no-sandbox --unity-launch|
|Screen Reader|no|
|VM|0%|
|DESKTOP_SESSION|jxf|
|XDG_CURRENT_DESKTOP|Unity|
|XDG_SESSION_DESKTOP|jxf|
|XDG_SESSION_TYPE|x11|
</details><details><summary>Extensions (13)</summary>

Extension|Author (truncated)|Version
---|---|---
toml|be5|0.4.0
vscode-todo-plus|fab|4.17.1
vscode-hugo-snippets|fiv|0.4.1
markmap-vscode|ger|0.0.7
vscode-journal-view|Gru|0.0.26
terraform|has|2.6.0
solidity|Jua|0.0.106
vsliveshare|ms-|1.0.3121
vscode-journal|paj|0.10.0
rust|rus|0.7.8
crates|ser|0.5.6
vscode-mindmap|Sou|0.0.5
material-theme|zhu|3.9.15

(1 theme extensions excluded)

</details>
<!-- generated by issue reporter -->