Add: TPABorder, GetChildWindows, Enhance AddOnTerminate.

These changes are for Lape:

AddOnTerminate will now accept type methods such as
```
 AddOnTerminate('bmp.free');
````

The _CallProc is only a wrapper to there to have no in/out variants because ffi currently does not act well with them (crashes...) I have spoken to niels about this and it should be fixed once there is a new ffi released but that could take some time.

Added TPABorder (Thanks to Slacky), which is quite simple as it returns the border of a TPointArray.

Added GetChildWindows, this returns all child windows on a window this means we can now target much more from a script. This is a nice example on how you could use it.

```
var
  Arr: TSysProcArr;
  Childs: TChildWindowArr;
  hwnd: PtrUInt;
begin
  Arr := GetProcesses();
  for i := 0 to High(Arr) do
    if (SameText('Firefox', Arr[i].Title)) then
    begin
      hwnd := Arr[i].Handle;
      break();
    end;

  Childs := GetChildWindows(hwnd);
  for i := 0 to High(Childs) do
    if (Childs[i].Width = 600) and (Childs[i].Height = 800) then // rs dimensions
    begin
      Writeln('found RS');
      SetTarget(Childs[i].Handle);
      Break;
    end;
end;        
```

** Don't accept this until  https://github.com/SRL/Lape/pull/11 has been merged, due to this commit requiring it.