OxygenBasic feature patch set
============================

Implemented in this patch:

1. #pragma support
   - #pragma pack(n)
   - #pragma pack(push[,n])
   - #pragma pack(pop[,n])
   - #pragma once
   - #pragma region / endregion accepted as no-op editor markers
   - #pragma warning(...) accepted and parsed as a reserved no-op

2. Property syntax lowering
   - property get Name() as T ... end property
   - property set Name(T value) ... end property
   - property byref Name() as T ... end property
   - static property ...

   These forms are lowered to method declarations/definitions so the existing
   pseudo-property call path can be reused.

3. Module / interface constructs
   - module Name ... end module   => namespace Name ... end namespace
   - module ... end module        => scope ... end scope
   - interface Name ... end interface => type Name ... end type
   - interface ... end interface  => block markers only

Notes:
- Named interfaces become concrete type declarations intended for contract-style
  method surfaces. The patch does not add a new 'implements' keyword.
- Property lowering reuses the existing method and pseudo-assignment machinery.
- #pragma pack affects type/class/struct member layout via an alignment cap.
