`buildJs` macro 🔥
Write PURE JavaScript in PURE Nim 👀

It uses emit pragma

Simple syntax:
```nim
buildJs:
  # translates into
  # import { something } from "....";
  import { something } from "...."
  
  # translates into
  # let name = 123;
  var name = 123
  
  # translates into
  # const name1 = 123;
  # const name2 = 123;
  let name1 = 123
  const name2 = 123
  
  # translates into
  # let arr = [2, 4, 3, 2, 1]
  var arr = [2, 4, 3, 2, 1]
  
  # translates into
  # for (var i = 0; i < 10; ++i) { ... }
  for i in 0..10:
    ...
  
  # translates into
  # function func(a, b, c, d) { ... }
  function func(a, b, c, d):
    # translates into
    # console.log( ... )
    console.log(...)
    # translates into
    # console.log( ... )
    echo ...
  
  # translates into
  # class Rectangle extends Object { ... }
  class Rectangle extends Object:
    # translates into
    # #privateField
    privateField
    # translates into
    # publicField
    pub publicField
    
    # translates into
    # constructor( ... )
    constructor( ... ):
      # translates into
      # this.publicField = ...
      self.publicField = ...
    
    # translates into
    # methodName(...)
    methodName(...):
      ...
    
    
    # Using nim variables:
    echo ~nimVar
```